es 6 flat

977 ワード

es 6の配列のflat()、flatMap()は、多次元配列が一次元配列に変化して広がります.
一、flat():
1.担当者 ---> .この方法は新しい配列を返します.元のデータには影響がありません.
[1,2,[2,3],[2,2]].flat()
//[1, 2, 2, 3, 2, 2]
2.flat() “ ” , 1は、「フラット」多層のネスティング配列を望むなら、flat()方法のパラメータを整数として作成して、平らにしたい層数を表しても良い.
[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]
3.何層のネストがあっても、一次元配列に変換される場合は、Infinityキーワードをパラメータとして使用することができる.元の配列に空席がある場合、flat()方法は空席をスキップします.
[1, [2, [3,4]]].flat(Infinity)
// [1, 2, 3, 4]

[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]
二、flatMap()
flatMap()方法は、元の配列の各メンバに対して関数を実行し、 Array.prototype.map() flat()の方法を実行する.この方法は新しい配列を返します.元の配列は変更されません.flatMap() .
[2, 3, 4].flatMap((x) => [x, x * 2])
//     [[2, 4], [3, 6], [4, 8]].flat()
// [2, 4, 3, 6, 4, 8]
三、拡張:多次元配列–>一次元配列