使用 forEach JavaScript 谷歌脚本迭代多分区数组的最佳方法

问题描述 投票:0回答:4

使用 forEach JavaScript Google 脚本迭代多分区数组的最佳方法是什么?

我想到了这个。

values.forEach(function(row){
  values[0].forEach(function(_,col){
    console.log(row[col])
  });
});

虽然它有效,但我觉得有更好的写法

javascript multidimensional-array foreach
4个回答
2
投票

你可以直接在内部数组上调用

forEach

let values = [[1,2,3], [4,5,6]];
values.forEach(row => row.forEach(x => {
  console.log(x);
}));


2
投票

可以直接遍历

row

values.forEach(function (row) {
  row.forEach(function(col) {
    console.log(col);
  });
});

或者,您可以使用箭头函数并将其变成单行代码:

values.forEach(row => row.forEach(col => console.log(col)));

你也可以使用一个

for..of
循环:

for (const row of values) {
  for (const col of row) {
    console.log(col);
  }
}

1
投票

您当前使用 forEach() 迭代多维数组的解决方案对我来说很好,这是遍历数组的常用方法。但是,还有其他一些方法可以达到相同的结果:

  1. 使用for循环:
for (let i = 0; i < values.length; i++) {
  for (let j = 0; j < values[i].length; j++) {
    console.log(values[i][j]);
  }
}

此解决方案使用嵌套的 for 循环来遍历数组的每个元素。

  1. 使用 flat() 方法:
let flattenedArray = values.flat();
flattenedArray.forEach(function(element) {
  console.log(element);
});

flat() 方法通过连接原始数组中的所有子数组来创建一个新的展平数组。然后可以使用 forEach() 迭代这个展平的数组。

  1. 使用 reduce() 方法:
let flattenedArray = values.reduce(function(acc, cur) {
  return acc.concat(cur);
}, []);
flattenedArray.forEach(function(element) {
  console.log(element);
});

0
投票

要在 JavaScript Google 脚本中使用 forEach 方法迭代多维数组,您可以使用嵌套的 forEach 循环。这是一个例子:

var array = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

array.forEach(function(row) {
  row.forEach(function(element) {
    // do something with each element in the row
    console.log(element);
  });
});

在这个例子中,我们有一个三行三列的多维数组。我们使用 forEach 方法遍历数组中的每一行,然后使用另一个 forEach 方法遍历行中的每个元素。

第一个 forEach 方法采用一个回调函数,该函数接收每一行作为参数。在回调函数中,我们再次调用 forEach 方法,传递一个接收行中每个元素作为参数的回调函数。

在嵌套的 forEach 循环中,您可以对数组中的每个元素执行您需要执行的任何操作。在这个例子中,我们只是将每个元素记录到控制台。

请注意,您可以使用任何其他数组迭代方法(例如 for 循环或映射)来获得相同的结果。方法的选择取决于您的具体用例和个人偏好。

© www.soinside.com 2019 - 2024. All rights reserved.