数组扁平化

2021-03-01  本文已影响0人  变量只提升声明不提升赋值
        //数组扁平化
        let bList = [1, [2, 3, [4, 5, 6]]]

        function bianping(bLists) {
            let clist = []
            bLists.forEach((d, index) => {
                if (Array.isArray(d)) {
                    clist = clist.concat(bianping(d))
                } else {
                    clist = clist.concat(d)
                }
            })
            return clist
        }
        console.log(bianping(bList))

扁平化通常用作将一个多维数组转换为一维数组。实现原理就是遍历当前数组,判断数组里的每一项是不是数组,如果不是,则直接通过concat方法连接起来,如果是的话就再调用一次本方法去遍历这个数组。因为可能会出现多维数组的情况。所以需要再次调用方法去遍历。

上一篇 下一篇

猜你喜欢

热点阅读