使用 forEach JavaScript Google 脚本迭代多分区数组的最佳方法是什么?
我想到了这个。
values.forEach(function(row){
values[0].forEach(function(_,col){
console.log(row[col])
});
});
虽然它有效,但我觉得有更好的写法
forEach
:
let values = [[1,2,3], [4,5,6]];
values.forEach(row => row.forEach(x => {
console.log(x);
}));
可以直接遍历
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);
}
}
您当前使用 forEach() 迭代多维数组的解决方案对我来说很好,这是遍历数组的常用方法。但是,还有其他一些方法可以达到相同的结果:
for (let i = 0; i < values.length; i++) {
for (let j = 0; j < values[i].length; j++) {
console.log(values[i][j]);
}
}
此解决方案使用嵌套的 for 循环来遍历数组的每个元素。
let flattenedArray = values.flat();
flattenedArray.forEach(function(element) {
console.log(element);
});
flat() 方法通过连接原始数组中的所有子数组来创建一个新的展平数组。然后可以使用 forEach() 迭代这个展平的数组。
let flattenedArray = values.reduce(function(acc, cur) {
return acc.concat(cur);
}, []);
flattenedArray.forEach(function(element) {
console.log(element);
});
要在 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 循环或映射)来获得相同的结果。方法的选择取决于您的具体用例和个人偏好。