背景
在 Google Apps 脚本中,我想创建一个新数组,将两个数组垂直组合为列,而不是附加行。我知道使用 .concat 或 .push 添加其他行非常容易,但这会垂直扩展数组。
这是代码:
var ar1 = [[1,3,5],
[2,4,6]];
var ar2 = [[7,9,11],
[8,10,12]];
期望的结果
运行 ar3 时,我希望所需的输出为:
[[1,3,5,7,9,11]
[2,4,6,8,10,12]]
我尝试过的事情
我认为这可以通过 concat 作为函数运行。我尝试了以下类似的方法无济于事:
var ar3 = ar2.forEach(function (row){ ar1.concat([row[0],row[1],row[2]]); });
使用 .map 并返回可以使这更简单吗? (我知道下面是非常错误的,但只是一个例子。)
var ar3 = ar1.map(function (row){ return ar1[row].concat(ar2[row]); });
最佳答案
使用map的索引是这样的:
var ar1 = [[1,3,5],
[2,4,6]];
var ar2 = [[7,9,11],
[8,10,12]];
const out = ar1.map((row,i) => row.concat(ar2[i]))
console.info(out)
关于javascript - 将数组组合为列而不是行的 Google Apps 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61171875/