JavaScript flat()メソッド
例
指定した深さで再帰的に配列を走査します:
let nestedArray = [1, 2, [3, 4, [5, 6]]];
let flatArray = nestedArray.flat();
console.log(flatArray);
//出力: [1, 2, 3, 4, [5, 6]]
//深さを2に指定
let deeplyNestedArray = [1, 2, [3, 4, [5, 6]]];
let deeplyFlatArray = deeplyNestedArray.flat(2);
console.log(deeplyFlatArray);
//出力: [1, 2, 3, 4, 5, 6]
出力結果は次のとおりです:
試してみる »
上の例では、flat() メソッドを使用して、ネストされた配列 nestedArray を1次元の配列にフラット化しています。2番目の例では、深さパラメータを渡すことで、深くネストされた配列 deeplyNestedArray をフラット化できます。
flat() メソッドは新しい配列を返し、元の配列は影響を受けないことに注意してください。
定義と用法
flat() メソッドは、指定された深さで再帰的に配列を走査し、すべての要素を走査したサブ配列の要素と結合して新しい配列として返します。
flat() メソッドは、配列とサブ配列のすべての要素を含む新しい配列を返します。
flat() メソッドは、配列を再帰的に走査し、すべてのネストされた配列要素を抽出して、新しい1次元配列を生成します。
ブラウザサポート
表内の数字は、そのメソッドをサポートする最初のブラウザバージョン番号を示します。
| メソッド | |||||
|---|---|---|---|---|---|
| flat() | 45.0 | 12.0 | 32.0 | 9 | 25.0 |
構文
flat() flat(depth)
パラメータ
| パラメータ | 説明 |
| depth | ネストされた配列を抽出する構造の深さを指定します。デフォルト値は 1 です。 |
技術的な詳細
| 戻り値: | 配列。 |
| JavaScript バージョン: | ECMAScript 6 |
その他の例
ネストされた配列をフラット化する
例
var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
//Infinity を使用すると、任意の深さのネストされた配列を展開できます
var arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr1.flat();
// [1, 2, 3, 4]
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
//Infinity を使用すると、任意の深さのネストされた配列を展開できます
var arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
フラット化と配列の空要素:flat() メソッドは配列内の空要素を削除します:
例
var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]
arr4.flat();
// [1, 2, 4, 5]
その他の拡張
JavaScript Array オブジェクト