Zac*_*ack 5 javascript arrays google-apps-script
背景
在 Google Apps 脚本中,我想创建一个新数组,将两个数组垂直组合为列,而不是附加行。我知道使用 .concat 或 .push 添加额外的行非常容易,但这会垂直扩展数组。
这是代码:
var ar1 = [[1,3,5],
[2,4,6]];
var ar2 = [[7,9,11],
[8,10,12]];
Run Code Online (Sandbox Code Playgroud)
期望的结果
运行 ar3 时,我希望所需的输出为:
[[1,3,5,7,9,11]
[2,4,6,8,10,12]]
Run Code Online (Sandbox Code Playgroud)
我尝试过的事情
我认为这可以通过 concat 作为函数运行。我尝试过类似下面的方法但无济于事:
var ar3 = ar2.forEach(function (row){ ar1.concat([row[0],row[1],row[2]]); });
Run Code Online (Sandbox Code Playgroud)
使用 .map 和 return 可以让这变得更简单吗?(我知道下面的内容是非常错误的,但这只是一个例子。)
var ar3 = ar1.map(function (row){ return ar1[row].concat(ar2[row]); });
Run Code Online (Sandbox Code Playgroud)
像这样使用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)Run Code Online (Sandbox Code Playgroud)