SOURCE

let ary = [1, [2, [3, [4, 5]]], 6];
let str = JSON.stringify(ary);
// console.log(str)
// 第0种,直接调用数组方法
let zero = ary.flat(Infinity)
console.log('zero', zero) 
// 第一种,正则比配替换
let first = str.replace(/(\[|\])/g, '').split(',')
console.log('first', first)
// 第二种正则匹配parse字符串
let second = JSON.parse('[' + str.replace(/(\[|\])/g, '') + ']')
console.log('second',second)
// 第三种递归遍历
function third(ary) {
    return ary.map(val=>{
        if(Array.isArray(val)){
            return third(val)
        }else{
            return val
        }
    })
}
console.log('third',third(ary))
// 第四种方法 reduce 
function fourth(ary){
    return ary.reduce((per,val)=>per.concat(Array.isArray(val)?fourth(val):val),[])
}
console.log('fourth', fourth(ary))
// 第五种,扩展用算符处理
function fifth(ary){
    while(ary.some(Array.isArray)){
        ary = [].concat(...ary)
    }
    return ary
}
console.log('fifth', fifth(ary))
console 命令行工具 X clear

                    
>
console