数组扁平化

75 阅读1分钟

1.通过递归数组的形式(在不确定数组的深度情况下)

   let arr = [[1, 2, 8, [6, 7]], 3, [3, 6, 9], 4]
    // 将多维数组变为以为数组
    // 递归遍历
    let a = []
    let bianli = function(arr){
        let tempArr = []
        arr.forEach(val=>{
            if(Array.isArray(val)){
                tempArr = tempArr.concat(bianli(val))
            }else{
                tempArr.push(val)
            }
        })
        return tempArr
    }
    console.log(bianli(arr))

2.通过flat函数

 // 需要指定一个数组的深度大于等于当前的多维数组深度
    console.log(arr.flat(2))

3.使用toString()和split()函数(数组内部全部是数字的情况)

console.log(arr.toString().split(',').map((val)=>{return +val}))