es6中 數組的flat() 與 flatMap() ,map() 使用方法

 把嵌套數組拉平,該方法返回一個新數組,對原數據沒有影響。

[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]

flat(num) 需要拉平幾層 數組,按順序排列, 默認 是 1

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]

 如果 嵌套多層 無法計算 (Infinity) 關鍵字 拉平所有數組  (數組中 有空位會跳過)

[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

 flatMap 方法對原數組的每個成員執行一個函數 該方法返回一個新數組 並且拉平數組, 但只能展開一層

[2, 3, 4].flatMap((x) => [x, x + 2])
// [2, 4, 3, 5, 4, 6]

 map 方法對原數組的每個成員執行一個函數 改函數返回一個新數組 不做展開操作 (也可以返回 成員本身, 相當於什麼都沒做)

[2, 3, 4].map(x => [x])
// [ [2], [3], [4] ]

 

發佈了50 篇原創文章 · 獲贊 13 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章