关于 actionscript 3:用二维数组的元素做数学运算?

Doing math with elements of a 2d-array?

所以我正在制作这样的二维数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
var kcalVerdier:Array = new Array(92,80,103,36,53);
var alleNumSteppers:Array = new    Array(alleNumSteps.numStepMelk.value,alleNumSteps.numStepEgg.value,alleNumSteps.numStepBr??d.value,alleNumSteps.numStepSm??r.value,alleNumSteps.numStepOst.value);
var c:Array = new Array(kcalVerdier,alleNumSteppers);
function endreAntall(evt:Event)
{


        txtTotalKcal.text = String(c[0] * [0]);




}

难道不能将二维数组的 2 个值相乘吗?我收到此错误:

场景 1,图层 \\'script\\',第 1 帧,第 17 行,第 38 列 1067:将 Array 类型的值隐式强制转换为不相关的 Number 类型。

我不明白为什么,c[0][0] 应该都是整数值还是我误解了?


您实际上想要乘以哪些值?
通过这样做:

1
c[0] * [0]

您正在尝试将 Array 与 Array 相乘。

c[0] 将是 c 数组的第一个元素,实际上是 kcalVerdier 数组。
[0] 正在使用一个元素(即 0)创建新数组;

所以它就像
[92,80,103,36,53] * [0]

[编辑]

好的,试试这段代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Check if both Arrays are what we want:
trace("kcalVerdier =>" + c[0]);
trace("alleNumSteppers =>" + c[0]);
trace();

// Gett Arrays lengths
var arr1Length:int = c[0].length;
var arr2Length:int = c[1].length;

// Check if both are the same length
if(arr1Length == arr2Length)
{
    // Let's iterate
    for(var i:int = 0; i<arr1Length; i++)
    {
        trace( c[0][i] * c[1][i] );
    }
}