ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6の2次元配列を1次元配列に変換する方法
es6 では、 flat() メソッドを使用して 2 次元配列を 1 次元配列に変換できます。このメソッドは、デフォルトで配列のレイヤーを「平坦化」します。パラメーターを使用して設定できます。変換するレイヤーの数 このメソッドは新しい配列を返すだけで、元の配列は変更しません 構文は「二次元配列. flat()」です。
このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。
メソッド: flat(); 許容パラメータ 2,3,4...,Infinity;
flat ():
1. 多次元配列 ---> 1 次元配列の変換を担当します。このメソッドは新しい配列を返しますが、元のデータには影響しません。
[1,2,[2,3],[2,2]].flat() //[1, 2, 2, 3, 2, 2]
2. flat() は、デフォルトでは 1 つのレベルのみを「フラット化」します。デフォルトは 1 です。複数レベルのネストされた配列を「フラット化」したい場合は、フラットのパラメータを記述することができます。 () メソッドは整数で、平準化するレイヤーの数を示します。
[1, 2, [3, [4, 5]]].flat() // [1, 2, 3, [4, 5]] [1, 2, [3, [4, 5]]].flat(2) // [1, 2, 3, 4, 5]
3. ネストのレベルに関係なく、1 次元配列に変換したい場合は、Infinity キーワードをパラメーターとして使用できます。
元の配列にギャップがある場合、 flat() メソッドはギャップをスキップします。
[1, [2, [3,4]]].flat(Infinity) // [1, 2, 3, 4] [1, 2, , 4, 5].flat() // [1, 2, 4, 5]
例は次のとおりです:
const a = [1, 2, 3, 4, 3]; const b = [3, 4, [5, 6]]; const c = [3, 4, [5, 6, [7, 8]]]; // 不传默认是二维数组降一维数组 console.log(a.concat(b).flat()); // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6] console.log(a.concat(c).flat(3)) // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8] // 如果数组嵌套太过复杂可直接传值Infinity console.log(a.concat(c).flat(Infinity)) // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8]
[関連する推奨事項: JavaScript ビデオ チュートリアル 、Web フロントエンド ]
以上がes6の2次元配列を1次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。