我如何合并或连接数组数组?

问题描述 投票:0回答:1

我有以下数组:

var array = [
[[1, 1, 1],[11, 11, 11],[111,111,111]],
[[2, 2, 2],[22, 22, 22],[222,222,222]]
]

我如何实现如下所示的新数组:

var newArray = [[1,1,1,2,2,2],[11,11,11,22,22,22],[111,111,111,222,222,222]]

到目前为止我尝试过的:

var sub= [];
var sub2= [];

for(i=0; i<array.length; i++){
var val1= array[i][0]
sub.push(val1)

        for(k=0; k<array[i].length; k++){
            var val2 = val1.concat(array[i][k])
            sub2.push(sub)
    }
}

控制台错误:

[[[1, 1, 1], [2, 2, 2]], [circular object Array], [circular object Array], [circular object Array],

任何解决方案将不胜感激! 谢谢!

javascript arrays merge concatenation
1个回答
2
投票

您可以通过映射内部数组来减少数组。

const
    array = [[[1, 1, 1], [11, 11, 11], [111, 111, 111]], [[2, 2, 2], [22, 22, 22], [222, 222, 222]]],
    result = array.reduce((a, b) => a.map((v, i) => [...v, ...b[i]]));

console.log(result);

© www.soinside.com 2019 - 2024. All rights reserved.