所以我正在制作一个像这样的二维阵列:
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]应该是整数值还是我误解?
答案 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] );
}
}