JavaScript 配列の配列を要素ごとにまとめる

言葉で表現すると難しいので、結果を用いて説明しますと、以下のような配列を

[[1, 2, 3],[4, 5, 6],[7, 8, 9],[10, 11, 12]]

以下のようにします。

[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

コードは以下です。

const array = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]];

const result = array.reduce((prev, current) => current.map((value, index) => [...prev[index] || [], value]), []);

console.log(result);

こういう処理は結構でてきそうな気がするので参考程度に。