我有二维数组格式的字符串值变量。
var arrayList=[["1","2"],["6","3600","11","60"],["1","2","3","4","5","6"]];
我想要的是,每个奇数位置值与下一个偶数位置相乘,最后将其相加
喜欢。
["1","2"]=(1*2);
["6","3600","11","60"]=((6*3600)+(11*60));
["1","2","3","4","5","6"]=((1*2)+(3*4)+(5*6))
为此,我编写了以下代码,第二和第三种情况不起作用。
真的很抱歉,这可能是一个非常基本的问题,但是我对每一行进行了测试,似乎代码是正确的,但是在第二和第三种情况下都得到了
Nan
。 var result=[];
for (var index = 0; index < arrayList.length; index++) {
var innerResult=0;
for (var jndex = 0; jndex < arrayList[index].length; jndex++) {
var cali=parseInt(arrayList[index][jndex])*parseInt(arrayList[index][jndex+1]);
innerResult=innerResult+cali;
jndex=jndex+2;
};
result.push(innerResult);
};
result
我越来越喜欢这个
[3,Nan,Nan]
。请任何人能帮助我。
谢谢
最佳答案
您在每个循环上增加jndex
,然后在该循环结束时再添加2。您有两种选择,可以对此进行更改:
for (var jndex = 0; jndex < arrayList[index].length; jndex++) {
至:
for (var jndex = 0; jndex < arrayList[index].length; jndex+=2 ) {
或这个:
jndex=jndex+2;
至:
jndex=jndex+1;
如果执行第一个,则不再需要循环内的增量。
关于javascript - 如何相乘和添加二维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19881957/