美文网首页
2022-02-27--手撕数组降维方法

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

作者: 派大星星 | 来源:发表于2022-02-27 12:40 被阅读0次

主要用到的思想是递归;另外数组降维也有一个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')

相关文章

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

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

  • C语言数组的升维与降维之说

    C语言数组的升维与降维之说 C语言数组的升维 C语言数组的降维

  • JS数组降维--Array.prototype.concat.a

    二维数组降为一维数组 循环降维 此方法思路简单,利用双重循环遍历二维数组中的每个元素并放到新数组中。 concat...

  • JS算法——数组降维

    一:二维数组 1、遍历降维 2、使用concat arr的每一个元素都是一个数组或参数,作为concat方法的参数...

  • 数组降维

    如何将二维数组降到一维数组? 一 . 我们可以利用双重循环 dimensionalityReduction即为降维...

  • 数组降维

    2019-03-07-09:46于公司 思路:数组转为字符串,然后转为数组关键点在于如何将数组转字符串!!! 比如...

  • TP5常用的封装方法(1)

    1、二维数组根据pid生成多维树 (注意:父级必须排在数组前面,降维的生成树方法) 2、根据相关键值生成父子关系(...

  • swift 高阶函数

    1. flatMap 降纬 组成一个新的一维数组 tip:可以将二维数组转化为一维数组,如果有空值则不会降纬 2....

  • 手撕数组

    【面试题51:数组中重复的数字】 【面试题32:求从1到n的整数中1出现的次数】 【面试题33:把数组排成最小的数...

  • 50个js方法

    1 .将一个多维数组降维 1 .已有的方法 2 .实现的关键以及细节 遍历数组的方式 1 .(for 循环,for...

网友评论

      本文标题:2022-02-27--手撕数组降维方法

      本文链接:https://www.haomeiwen.com/subject/iorhrrtx.html