使用二维数组的元素进行数学运算?

时间:2016-04-27 15:28:16

标签: arrays actionscript-3 multidimensional-array

所以我正在制作一个像这样的二维阵列:

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-d数组的2个值相乘?我收到这个错误:

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

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

1 个答案:

答案 0 :(得分:1)

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

c[0] * [0]

你正在尝试将Array乘以Array。

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

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


<强> [编辑]

好的,试试这段代码:

// 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] );
    }
}