数组新特性flat()和flatMap()的使用,可解决数组降维!
话不多说!!先看flat()
let arr = [1,[2,[3,[4,[5,6,[7,8,9]]]]]]
let newarr = arr.flat(Infinity)
console.log(newarr)
输出[1,2,3,4,5,6,7,8,9]
为啥会输出这样的结果呢??
这就是flat()得作用!flat(Infinity)中Infinity的作用就是深度降维到最后!
Infinity可以换成1,2,3等数字,表示降维到第几层!!
再看flatMap()
let arr2 = [1,2,3,4,5,6]
let newarr2 = arr2.flatMap((elem,i,arr)=>{
return [[elem*i]]
})
console.log(newarr2)
输出[ [ 0 ], [ 2 ], [ 6 ], [ 12 ], [ 20 ], [ 30 ] ]
只能展开一层[]