arr.flat(Infinity)數組扁平化


數組扁平化

所謂數組扁平化就是將數組中並不規則的多維數組去除維度,使之變為一維數組。

let newArray = arr.flat(depth)

flat() 方法會按照一個可指定的深度遞歸遍歷數組,並將所有元素與遍歷到的子數組中的元素合並為一個新數組返回。 其中,depth指定要提取嵌套數組的結構深度,默認值為1。

但使用 Infinity 作為深度,展開任意深度的嵌套數組

For Example

將數組var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];扁平化並去除其中重復數據,最終得到一個升序且不重復的數組。

Array.from 轉換為數組 new Set 數組去重 sort 數組或對象某個屬性排序

Array.from(new Set(arr.flat(Infinity))).sort((a, b) => { return a - b })

轉自:https://www.dazhuanlan.com/2020/03/14/5e6c8fe378c9f/

flat的實現詳情見:https://www.cnblogs.com/vickylinj/p/14286298.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM