Array.flat()是实现数组扁平化的一个api,在学习的过程中我自己实现了一下扁平化,如果有不对的地方望指正:
let arr = [3,5,[3,6,[3,5]],4,[3,5]] //arr数组实现扁平化的方法
1,
function flatten(arr) {
return arr.reduce((result,item) => {
return result.concat(Array.isArray(item)?flatten(item):item)
},[])
}// 用reduce的方法实现
2,
function flatten2(arr){
return arr.join(‘,‘).split(",").map(function(item){
return parseInt(item)
})
}
//将数组转为字符串,然后再转换为数组
3,
function flatten3(arr){
let result = []
arr.map((item) =>{
if(Array.isArray(item)){
result = result.concat(flatten3(item))
}else result.push(item)
})
return result
}
let arr3 = flatten(arr)
let arr4 = flatten2(arr)
let arr5 = [].concat(...arr)
let arr6 = flatten3(arr)// 结果都是一样的
原文:https://www.cnblogs.com/388ximengpy/p/12153307.html