【JavaScript】Arrayクラスのflat()メソッドについて

JavaScriptのflat()メソッドは、ネストされた配列を指定した深さまでフラット化するための便利なメソッドです。このメソッドを使用することで、多次元配列を簡単に一次元配列に変換することができます。本記事では、flat()メソッドの基本的な使い方から応用例まで詳しく解説します。

目次

基本構文

flat()メソッドの基本的な構文は以下の通りです:

array.flat(depth);
  • depth (オプション): ネストをフラット化する深さを指定します。デフォルトは1です。

flat()メソッドは新しい配列を返し、元の配列は変更されません。

基本的な使い方

1レベルのフラット化

デフォルトでは、flat()メソッドは配列を1レベルだけフラット化します。

const array = [1, 2, [3, 4], 5, [6, 7]];

const flattenedArray = array.flat();

console.log(flattenedArray); // 出力: [1, 2, 3, 4, 5, 6, 7]

この例では、ネストされた配列が1レベルだけフラット化され、新しい配列が返されます。

深さを指定したフラット化

フラット化する深さを指定することができます。

const array = [1, [2, [3, [4, 5]]]];

const flattenedArray = array.flat(2);

console.log(flattenedArray); // 出力: [1, 2, 3, [4, 5]]

この例では、ネストされた配列が2レベルまでフラット化され、新しい配列が返されます。

任意の深さまでフラット化

深さをInfinityに設定すると、任意の深さまで完全にフラット化することができます。

const array = [1, [2, [3, [4, 5]]]];

const flattenedArray = array.flat(Infinity);

console.log(flattenedArray); // 出力: [1, 2, 3, 4, 5]

この例では、ネストされた配列が完全にフラット化され、新しい配列が返されます。

応用例

配列の中の空要素の除去

flat()メソッドは、空の要素を除去するためにも使えます。

この例では、配列の中の空要素(undefined)が除去され、新しい配列が返されます。

注意点

  • flat()メソッドは元の配列を変更せず、新しい配列を返します。
  • 深さを適切に設定することで、必要に応じてネストをフラット化できます。

まとめ

flat()メソッドは、ネストされた配列を簡単にフラット化するための強力なツールです。指定した深さまでフラット化することができ、多次元配列を扱う際に非常に便利です。この記事を参考にして、flat()メソッドを効果的に活用してください。

目次