javascript - 将数组组合为列而不是行的 Google Apps 脚本

标签 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]];

期望的结果

运行 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/

相关文章:

javascript - 将 pdf 加载到 Blob 并创建 url

javascript - Iframe 更改内容 CSS 样式

javascript - 循环 ajax 请求,直到它在 Promise.all 中返回响应

javascript - 创建对象时如何在属性中给出数组索引

java - 如何在 Java 中使用数组中的数组?

C++ const char* 数组 2 个变量变成一个 'cell' ?

google-apps-script - 根据单元格值发送电子邮件

google-apps-script - 谷歌应用程序脚本: urlfetchapp - service invoked too many times

javascript - Angular 未在自定义指令内编译

javascript - 如何让 Google 文件选取器脚本在公开共享的 Google 工作表上启动?