将多维数组追加到其他多维数组javascript的底部

时间:2019-07-11 22:06:35

标签: javascript arrays append

我有两个数组,其中n个维度分别为arr1和arr2。我想在arr1的底部添加arr2

即我想将arr2作为行而不是列追加到arr1。

我将其用于一维数组以将arr2添加到arr1作为列,但是我无法获得如何更改它以添加行而不是列的方法

如果

arr1 =  [[Id, From, To], [1.0, AA1, BB1], [2.0, AA2, BB2], [3.0, AA3, BB3]]

arr2 = [[Id, From, To], [4.0, AA4, BB4], [5.0, AA5, BB5], [6.0, AA6, BB6]]

result =  [[Id, From, To], [1.0, AA1, BB1], [2.0, AA2, BB2], [3.0, AA3, BB3], [4.0, AA4, BB4], [5.0, AA5, BB5], [6.0, AA6, BB6]]

谢谢

function conatArr(arr1, arr2) {

 var result = arr1.map(function(row, i){
 return row.concat(arr2[i]);
})
return result
}

3 个答案:

答案 0 :(得分:3)

您可以简单地使用...spread syntax合并两个数组

let arr1 =  [['Id', 'From', 'To'], [1.0, 'AA1', 'BB1'], [2.0, 'AA2', 'BB2'], [3.0, 'AA3', 'BB3']]

let arr2 = [['Id', 'From', 'To'], [4.0, 'AA4', 'BB4'], [5.0, 'AA5', 'BB5'], [6.0, 'AA6', 'BB6']]

let final = [...arr1, ...arr2.slice(1)]

console.log(final)

答案 1 :(得分:2)

只需push进入结果

arr1 =  [["Id", "From", "To"], [1.0, "AA1", "BB1"], [2.0, "AA2", "BB2"], [3.0, "AA3", "BB3"]]

arr2 = [["Id", "From", "To"], [4.0, "AA4", "BB4"], [5.0, "AA5", "BB5"], [6.0, "AA6", "BB6"]]

var result = [];

result.push(arr1[0]);

for (i = 1; i < arr1.length; i++)
{
  result.push(arr1[i]);
  result.push(arr2[i]);  
}

console.log(result);

答案 2 :(得分:1)

尝试一下,虽然不是很聪明,但是可以在示例数据中使用

function combineArrays(shtName, arr1,arr2) {
 var sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shtName);
 var result =[];

for (i=0;i< arr1.length + arr2.length;i++) {
  if(i < arr1.length) {result[i]=arr1[i]}
  else{result[i] = arr2[i-arr1.length]}
}

这是更好的方法:

function conatArrAsRows(shtName, arr1, arr2, postback) {
var sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shtName);

var result = arr1.concat(arr2);

if(postback == true) {sht.getRange(1,1,result.length,result[0].length).setValues(result)};
return result
}