ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6の2次元配列を1次元配列に変換する方法

es6の2次元配列を1次元配列に変換する方法

WBOY
WBOYオリジナル
2022-04-25 16:57:493314ブラウズ

es6 では、 flat() メソッドを使用して 2 次元配列を 1 次元配列に変換できます。このメソッドは、デフォルトで配列のレイヤーを「平坦化」します。パラメーターを使用して設定できます。変換するレイヤーの数 このメソッドは新しい配列を返すだけで、元の配列は変更しません 構文は「二次元配列. flat()」です。

es6の2次元配列を1次元配列に変換する方法

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。

es6 2 次元配列を 1 次元配列に変換する方法

メソッド: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。