配列をフラット化する方法配列のフラット化とは何ですか? 配列の平坦化: 多次元配列を 1 次元配列に変換することを指します。 例: 次の配列をフラット化します。 const arr = [1, [2, 3, [4, 5]]] // ---> [ 1, 2, 3, 4, 5 ] 1.flat() の使用flat() メソッドは ES10 で提案されました。指定された深さで配列を再帰的に走査し、走査されたサブ配列の要素とすべての要素を新しい配列にマージして返します。 (flat は「水平、平ら」という意味です) const result1 = arr.flat(Infinity) // 深さを無限に指定します console.log(result1) // [ 1, 2, 3, 4, 5 ] const result2 = arr.flat(1) // 深さを1に指定 console.log(結果2) // [ 1, 2, 3, [ 4, 5 ] ] const result3 = arr.flat(2) // 深さを2に指定します console.log(結果3) // [ 1, 2, 3, 4, 5 ] 2. 正規表現を使用する以下の方法で取得された配列要素は文字列に変換されますが、これは推奨されません。 const result1 = JSON.stringify(arr).replace(/\[|\]/g, '').split(',') console.log(result1) // [ '1', '2', '3', '4', '5' ] 配列要素は文字列に変換されます 上記の方法を最適化します。 const result2 = JSON.parse('[' + JSON.stringify(arr).replace(/\[|\]/g, '') + ']') console.log(結果2) // [ 1, 2, 3, 4, 5 ] 3.reduce()+concat()を使用する
関数flatten(arr){ 戻り値 arr.reduce((pre, current) => { pre.concat(Array.isArray(current) ? flatten(current) : current) を返します }, []) } const 結果 = flatten(arr) console.log(結果) // [ 1, 2, 3, 4, 5 ] 4. 関数の再帰を使用する
定数結果 = [] 関数exec(arr) { arr.forEach(アイテム => { Array.isArray(item) の場合 { 実行(アイテム) } それ以外 { 結果.push(アイテム) } }) } 実行(arr) console.log(結果) // [ 1, 2, 3, 4, 5 ] 5. スプレッド演算子 + concat() を使用する
some() メソッド: 配列内に、指定された関数テストに合格する要素が少なくとも 1 つあるかどうかをテストします (ブール値を返します)。 関数flatten(arr){ (arr.some(item => Array.isArray(item))) の間 { arr = [].concat(...arr) } リターン } const 結果 = flatten(arr) console.log(結果) // [ 1, 2, 3, 4, 5 ] 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Dockerを使用してブログサイトを素早く構築する方法の詳細な説明
>>: MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?
Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...
MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...
1. Docker Swarm とは何ですか? Docker Swarm は、Docker が公式に...
説明 ソリューションVMware 15 仮想マシン ブリッジ モードではインターネットにアクセスでき...
目次1. axioの基本的な使い方2. クロスドメインの問題を解決するには? 3. パッケージ4. ...
MySQL と接続関連のタイムアウト序文:今日、同僚から、データ量が多いときに MySQL データベ...
mysqlbinlogのバージョンを表示mysqlbinlog -V [--version] bin...
次のコードは、MySQL 5.7.22 バイナリ パッケージのインストール方法を紹介しています。具体...
基本的なネットワーク構成Docker はイメージに基づいて複数のコンテナを「開く」ことができ、各コン...
1. セレクターを調整するコンビネータを使用すると、セレクターの説明をより正確に記述できます (C...
この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...
目次1. マップを初期化する2. マップポイント3. 位置決めを有効にする4. マップの変更を監視す...
AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...
DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...
目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...