配列.flat () -配列内のネストした配列を描画する
7362 ワード
配列メソッドシリーズのこの3番目の記事では、フラットメソッドとどのように動作するかを説明します.
The
と
返り値
また、あなたは
フラットメソッドなしで配列を平坦化する方法を示します.
注意:これは、それなしでそれをする唯一の方法でありません
The
かなり良い.
フラットメソッドは何ですか?
The
flat
配列のメソッドを使用して、配列内の入れ子配列を平坦化します.入れ子状配列とは何かconst array = [1, 2, [3, 4, [5, 6]]]
[3, 4, [5, 6]]
はメイン配列の中にネストし、[5,6]
も前の配列に入れ子になっています.と
flat
これらの入れ子になった配列を親配列に連結できます.返り値
flat
メソッドは連結された項目を含む新しい配列です.フラットメソッドの構文
array.flat(depth)
The depth
引き数ネストするネストレベルを指定します.この例を使用します.[1, 2, [3, 4, [5, 6]]]
深さ1[3, 4, [5, 6]
深さ2[5, 6]
深さ3 - 3番目の深さがありませんまた、あなたは
depth
of Infinity
, どれが深いネストされた配列の巣を作るために深くなります🔥 ハハ.平らな方法なしで
フラットメソッドなしで配列を平坦化する方法を示します.
const array = [1, 2, [3, 4, [5, 6]]]
const flattenedArr = []
// for 2 levels
for (let i = 0; i < array.length; i++) {
const item = array[i]
if (!Array.isArray(item)) {
// not an array
flattenedArr.push(item)
} else {
// for the first level
for (let j = 0; j < item.length; j++) {
const item2 = item[j]
if (!Array.isArray(item2)) {
// not an array
flattenedArr.push(item2)
} else {
// for the second level
flattenedArr.push(...item2)
}
}
}
}
console.log(flattenedArr)
// [ 1, 2, 3, 4, 5, 6 ]
ループをループし、配列を平らにするだけです.The flat
方法は確かに寿命😅注意:これは、それなしでそれをする唯一の方法でありません
flat
メソッド.でより多くの方法をチェックしてくださいthis StackOverflow discussion 平らな方法で
const array = [1, 2, [3, 4, [5, 6]]]
const flattenedArr = array.flat(2)
// or array.flat(Infinity)
console.log(flattenedArr)
// [ 1, 2, 3, 4, 5, 6 ]
ブラウザサポート
The
flat
メソッドはES2019 ブラウザのサポートgotten from MDN が表示されます:かなり良い.
Reference
この問題について(配列.flat () -配列内のネストした配列を描画する), 我々は、より多くの情報をここで見つけました https://dev.to/dillionmegida/arrayflat-for-flatting-nested-arrays-within-an-array-3d1oテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol