How i can merge or concatenate array of arrays?

Viewed 47

I have the following array of arrays:

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

How i can achieve a new array as below:

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

What i have tried so far:

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

With console error: [[[1, 1, 1], [2, 2, 2]], [circular object Array], [circular object Array], [circular object Array],

Any solution will be appreciated! Thank you!

1 Answers

You could reduce the array by mapping the inner arrays.

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

Related