js数组扁平化

let arr=[1,2,3,[4,5],[[6,7,8]]]
function flat(arr){
    let result=[]
    for(let i=0,len=arr.length;i<len;i++){
        if(Array.isArray(arr[i])){
            result=[...result,...flat(arr[i])]
        }else{
            result.push(arr[i]) 
        }
    }
    return result
}
function flatES6(arr){
    while(arr.some(item=>Array.isArray(item))){
        arr=[].concat(...arr)
    }
    return arr
}
console.log(flat(arr));
console.log(flatES6(arr));
posted @ 2023-06-19 14:55  年轻浅识  阅读(25)  评论(0)    收藏  举报