首页 > 解决方案 > 在 Google 脚本中组合两个不同维度的数组

问题描述

我有两个数组,一个有 m 维 mArr,另一个有 n 维 nArr,我想在最后将较小的 mArr 附加到较大的 nArr

mArr = [[NewH], [DD1], [DD2], [DD3], [44]]

nArr = [[Id, H1, H2, H3], [1.0, aa1, bb1, cc1], [2.0, aa2, bb2, cc2], [3.0, aa3, bb3, cc3], [4.0, aa4, bb4, cc4]]

我需要

result = [[Id, H1, H2, H3, NewH], [1.0, aa1, bb1, cc1, DD1], [2.0, aa2, bb2, cc2, DD2], [3.0, aa3, bb3, cc3, DD3], [4.0, aa4, bb4, cc4, DD4]]

我尝试过的一些事情:

values = transpose([mArr,nArr])

and
if ( mArr.length > 0 ) {

  var i = 0;

  while ( i < mArr.length ) {

  nArr.push(mArr[i]);
  i++;
  }
 }

我猜这些只适用于相同维度的数组

谢谢

标签: arraysgoogle-apps-script

解决方案


你可以用 Array.map 做到这一点

nArr.map(function(row, i){
  return row.concat(mArr[i]);
})

mArr = [[1],[2]];
nArr = [[4,5], [5,6]]
result=nArr.map(function(row, i){
  return row.concat(mArr[i]);
})
console.info(result);


推荐阅读