2022-02-27--手撕数组降维方法

主要用到的思想是递归;另外数组降维也有一个flat()

//数组降维  主要思想是递归
let arr = [1, 2, 3,[4, 5, 6, 7,[4, 3, 2, [554543, 2423], 6]], 0]
let flatten = (arr=[]) => {
    // 首先建立一个[]数组
    //判断数值是不是数组,如果是数字,就放到空数组里面
    //如果是数组就再次使用flatten方法 --递归思想
    return arr.reduce((pre, cur) => {
        //如果reduce 的第二个参数存在,
        // 那 pre 初始值就是 第二个参数 这里是[]
        //而 cur 就是数组的第一项元素 1(这里是1)
        //这里的return是将数组保存起来,用于下一次pre
        return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
    }, [])
}
let res = flatten(arr)
console.log(JSON.stringify(res),'111')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

友情链接更多精彩内容