更好的垂直合并数组的方式,没有任何公共属性

问题描述 投票:2回答:2

输入:

a=[[1,2,3], [4,5,6]]

b=[[7,8], [9,10]]

输出:

c= [[1,2,3,7,8][4,5,6,9,10]]

我正在使用

for(var i=0;i<a.length;i++) {
  c[i] = a[i].concat(b[i]);
}

使用任何内置的'js'函数,还有其他更好的方法吗?

javascript arrays multidimensional-array concat
2个回答
3
投票

[您看起来非常好,一个循环,它简单易读-很好的衡量标准,如果您更喜欢功能性稍强的方法,尽管使用数组方法,这基本上是相同的事情。

var a = [[1,2,3], [4,5,6]];

var b = [[7,8], [9,10]];

var c = a.map(function(el, i) {
   return el.concat(b[i]);
});

console.log(c); // => [[1,2,3,7,8], [4,5,6,9,10]];

0
投票

[现在是另一个示例,请使用destructuring

var a = [[1,2,3], [4,5,6]];
var b = [[7,8], [9,10]];

var c = a.map((el, i) => {
   return [...a[i], ...b[i]];
});

console.log(c);
// → [[1,2,3,7,8], [4,5,6,9,10]];
© www.soinside.com 2019 - 2024. All rights reserved.