Open1

TypeScript の多次元配列データを1つの配列データに直したいときの実装について

まさぴょんまさぴょん

多次元配列データを1つの配列データに直したいとき

多次元配列データを1つの配列データに直したいときには、Array.prototype.flat() メソッドを使用します。
このメソッドは、指定した深さまで配列を平坦化します。

以下に具体的な実装例を示します。

const users: User[][] = [
  // 二次元配列の例
  [user1, user2],
  [user3, user4],
  // 他の要素
];

// 二次元配列を一次元配列に変換
const flattenedUsers: User[] = users.flat();

上記では、users を一次元配列 flattenedUsers に変換しています。
flat() メソッドのデフォルトの深さは 1 であり、二次元配列を一次元配列に平坦化するのに適しています。

なお、flat() メソッドは ECMAScript 2019(ES10)で導入されたため、古い環境ではサポートされていない場合があります。
その場合は、Array.prototype.concat() とスプレッド構文を組み合わせて同様の結果を得ることができます。

const flattenedVideos: ArchiveVideo[] = [].concat(...afterArchiveVideos);

この方法でも、afterArchiveVideos を一次元配列に変換できます。
ただし、flat() メソッドを使用する方がコードが簡潔で読みやすいため、可能であれば flat() の使用をおすすめします。

参考・引用

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/flat