所谓数组扁平化就是将数组中并不规则的多维数组去除维度,使之变为一维数组。
let newArray = arr.flat(depth)
flat()
方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
其中,depth
指定要提取嵌套数组的结构深度,默认值为1。
我们需要把多位数组先转换成一位数组才能遍历:
<script>
let a=[1,2,[3,4],5,6,7]
let b=a.flat(Infinity)
let c1= b.filter(x => { return x<6 })
console.log(c1)
</script>
将数组,扁平化使用 Infinity
作为深度,展开任意深度的嵌套数组。最终得到一个升序且不重复的数组,filtter()遍历数组(此方法只能遍历一维数组),过滤出来符合条件的元素,放到一个新数组里面,如果没有就返回空。