gpt4 book ai didi

javascript - 单个 for 循环如何遍历多个数组?

转载 作者:搜寻专家 更新时间:2023-11-01 04:16:16 25 4
gpt4 key购买 nike

在本例中,我使用了两个并行数组(cost[]scores[]),这两个数组的数据相互平行。

此代码是正确的,因为它是从我正在使用的书中复制的。我不明白的是这个 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;
}

最佳答案

http://en.wikipedia.org/wiki/Parallel_array

In computing, a group of parallel arrays is a data structure for representing arrays of records. It keeps a separate, homogeneous array for each field of the record, each having the same number of elements

如果它们都真正平行,则两个阵列的长度将相同。

所以 scores.length == costs.length。您只需要为循环条件使用一个,并使用相同的索引变量来访问两个数组。

例子

var a = [1,2,3];
var b = [4,5,6];

for(var i=0; i<a.length; i++){
console.log(a[i] +" "+ b[i]);
}

输出:

1 4
2 5
3 6

使用b的长度

for(var i=0; i<b.length; i++){
console.log(a[i] +" "+ b[i]);
}

输出:

1 4
2 5
3 6

关于javascript - 单个 for 循环如何遍历多个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com