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