關於 Array.flatMap()
前言
Array.flatMap() 和先前的 關於 Array.flat() 是相似的,但由於很難從 關於 Array.flat() 推測 Array.flatMap() 的功能,在此把學習的過程做個紀錄。
內容
Array.flatMap() 的功能也是把 Array 裡面的 Array 內容展開,但最大的不同在 Array.flatMap() 是透過 Function 來決定展開後的數值,範例如下
let ar = [ 1 , 2 , 3 , 4 ]; console.log( ar.flatMap( (val) => 99 ) );//[99, 99, 99, 99] console.log( ar.flatMap( (val) => (val<=2? val : 99 ) ) );//[1, 2, 99, 99]
範例第一例的 Function 無論如何都回傳 99 ,所以得到數值都是 99 ,第二例在數值小於等於 2 時保持原來數值,否則回傳99,所以結果的最後兩個數值為 99 。
參考資料
[ developer.mozilla.org ] Array.prototype.flatMap()