【问题标题】:How i can merge or concatenate array of arrays?我如何合并或连接数组数组?
【发布时间】:2021-08-31 03:54:33
【问题描述】:

我有以下数组:

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】:

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

    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);

    【讨论】:

      猜你喜欢
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 2020-01-03
      • 1970-01-01
      • 2012-12-17
      相关资源
      最近更新 更多