我有两个数组,其中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
}
答案 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
}