在这种情况下,我使用了两个并行阵列(cost[]
和scores[]
),这两个阵列上的数据相互平行。单个for循环如何迭代多个数组?
此代码与我正在使用的书中复制它一样正确。我没有得到的是这个for循环如何处理成本数组。我得到我们在函数中传递两个数组作为参数,但在for循环中只有scores.length
,所以不应该是cost.lenght
的另一个循环?
function getMostCostEffectiveSolution(scores, costs, highScore)
var cost = 100;
var index;
for (var i = 0; i < scores.length; i++) {
if (scores[i] == highScore) {
if(cost > cost[i]) {
index = i;
cost = cost[i];
}
}
}
return index;
}
它LO像代码这样的代码假设成本和分数具有相同的长度。如果它们的长度相同,则只需使用其中一种长度。请注意,如果您使用'cost [i]'的时候可能应该是'costs [i]'' –
如果它们是平行数组,它们的长度是不是相同? – froadie
我认为在这种情况下,两个阵列的长度是相同的。 –