如何使用一个forEach循环迭代两个不同的数组?

时间:2017-06-13 10:32:42

标签: javascript arrays function loops foreach

我希望能够使用一个forEach循环将这两个数组的值记录到控制台上。截至目前,我只是迭代第一个,因为我知道该怎么做!这可能吗?

var array1 = [1, 2, 3, 4];
var array2 = [5, 6, 7, 8];

array1.forEach(function(item){
    console.log(item)
});

5 个答案:

答案 0 :(得分:2)

如果两个数组的长度相同,则可以使用index记录其他数组中的元素。

var array1 = [1, 2, 3, 4];
var array2 = [5, 6, 7, 8];

array1.forEach(function(item, index){
  console.log(item, array2[index])
});

答案 1 :(得分:2)

您可以使用concat将它们连接在一起,所以:

var array1 = [1, 2, 3, 4];
var array2 = [5, 6, 7, 8];

array1.concat(array2).forEach(function(item){
    console.log(item)
});

在不同的行上打印1,2,3,4,5,6,7,8。

答案 2 :(得分:1)

var array1 = [1, 2, 3, 4];
var array2 = [5, 6, 7, 8];

array1.forEach(function(item, i){
  console.log(item, array1[i]) // logs first array
  console.log(item, array2[i])// logs second array
});

答案 3 :(得分:0)

另一种解决方案是将数组合并为一个,就像这样,假设顺序对您很重要:

const combined = array1.map((array1val, index) => [array1val, array2[index]])

combined.forEach(vals => {
  vals.forEach(console.log)
})

答案 4 :(得分:0)

我们也可以使用'for'循环来迭代这两个数组:

for(i=0;i < array1.length || i < array2.length;i++){
    console.log(array1[i] + '----' + array2[i])
}