数组扁平化

数组的扁平化其实就是将一个嵌套多层的数组 array(嵌套可以是任何层数)转换为只有一层的数组。

实现数组扁平化方法

方法一:递归实现

   const arr=[1,2,3,[4,5,[6,7]],[8,9,[10,11]]]
        function flat(arr,newArr=[]){ 
            arr.forEach(item => {
                if(Array.isArray(item)){
                    flat(item,newArr)
                }else{
                    newArr.push(item)
                }
            })
            return newArr
        }
        console.log(flat(arr));

方法二:数组的flat方法

flat():创建一个新数组。并根据指定 深度 递归的将所有子数组元素拼接到新的数组中

flat(d) :d 为指定的深度,默认值为1

console.log(arr.flat())  // [1, 2, 3, 4, 5, Array(2), 8, 9, Array(2)]
console.log(arr.flat(1)) // [1, 2, 3, 4, 5, Array(2), 8, 9, Array(2)]
console.log(arr.flat(2)) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

你可能感兴趣的:(算法)