我在 ActionScript 3.0 中添加了两个(或可能很多)矩阵。
现在我的问题是如何在这样的数组中添加索引?
array1[1,2,3,4] + array2[2,4,5,6] = answer[3,6,8,10]
我在 ActionScript 3.0 中添加了两个(或可能很多)矩阵。
现在我的问题是如何在这样的数组中添加索引?
array1[1,2,3,4] + array2[2,4,5,6] = answer[3,6,8,10]
那是不可能的。数组只允许通过一个索引进行访问。为此,您必须自己编写一个方法。但请注意,null 将在 0、1、2、4、5 等处的答案中引用。
此函数将传递给它的所有数组相加:
function sumOfArrays(...args):Array
{
var sum:Array = [];
var arrays:Array = [];
var longestArrayLength:uint = 0;
for (var i:int = 0, n:int = args.length; i < n; i++)
{
if (args[i] is Array)
{
arrays.push(args[i]);
longestArrayLength = args[i].length > longestArrayLength ? args[i].length : longestArrayLength;
}
}
for (var j:int = 0; j < longestArrayLength; j++)
{
sum[j] = 0;
for (i = 0; i < n; i++)
{
sum[j] += isNaN(arrays[i][j]) ? 0 : arrays[i][j];
}
}
return sum;
}
它可以这样使用:
var sum:Array = sumOfArrays(array1, array2);