// 数组扁平化
let arr = [1,[2,3,[4,5]]]
// #1
console.log(arr.flat(Infinity))
// #2
function flattern(arr){
let result = []
arr.forEach(item=>{
if(Array.isArray(item)){
result = result.concat(flattern(item))
}
else{
result.push(item)
}
})
return result;
}
console.log(flattern(arr))
// #3
function flattern(arr){
return arr.reduce((prev,next)=>{
return prev.concat(Array.isArray(next)?flattern(next):next)
},[])
}
console.log(flattern(arr))
// #4
console.log(arr.join(",").split(",").map(item=>{
return Number(item)
}))
// #5
function flattern(arr){
while(arr.some(item=>Array.isArray(item))){
arr = [].concat(...arr)
}
return arr
}
console.log(flattern(arr))
// #6
console.log(arr.toString().split(",").map(item=>{
return Number(item)
}))
js实现数组扁平化的6种方法
于 2023-01-30 17:11:42 首次发布