数组扁平化

61 阅读1分钟
let arr = [2,[3,4],5]

//方法一
let ans1 = arr.flat(Infinity)
console.log(ans1)

//方法二
let res = JSON.stringify(arr).replace(/\[|\]/g,'')
let ans2 = JSON.parse('['+res+']')
console.log(ans2)

//方法三
let ans3 = []
let flatFunc = function(arr){
    for(let i =0;i<arr.length;i++){
        if(arr[i].length){
            flatFunc(arr[i])
        }else{
            ans3.push(arr[i])
        }
    }
}
flatFunc(arr)
console.log(ans3)

//方法四
let flatFunc2 = function(arr){
    return arr.reduce((pre,cur)=>{
        return pre.concat(Array.isArray(cur)? flatFunc2(cur):cur)
    },[])
}
let ans4 = flatFunc2(arr)
console.log(ans4)