Transposing a 2D-array in JavaScript

后端 未结 23 2879
难免孤独
难免孤独 2020-11-22 01:40

I\'ve got an array of arrays, something like:

[
    [1,2,3],
    [1,2,3],
    [1,2,3],
]

I would like to transpose it to get the following

23条回答
  •  迷失自我
    2020-11-22 02:27

    Another approach by iterating the array from outside to inside and reduce the matrix by mapping inner values.

    const
        transpose = array => array.reduce((r, a) => a.map((v, i) => [...(r[i] || []), v]), []),
        matrix = [[1, 2, 3], [1, 2, 3], [1, 2, 3]];
    
    console.log(transpose(matrix));

提交回复
热议问题