温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

js多维数组降维的方法有哪些

发布时间:2023-04-07 16:36:20 来源:亿速云 阅读:89 作者:iii 栏目:开发技术

这篇文章主要介绍“js多维数组降维的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js多维数组降维的方法有哪些”文章能帮助大家解决问题。

多维数组降维也就是数组扁平化

数组扁平化的方法有很多种,但是我主要用五种,如下:

一,递归

        // 一,递归
        let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]] 
        let newArr = []
        const getArr=(array)=>{
            array.forEach((item)=>{
                // 如果遍历的元素不是一个数组 就把这个元素放到新数组中 
                // 反之 就进行递归再次调用方法
                Array.isArray(item) ? getArr(item) : newArr.push(item)
            })
        }
        getArr(arr)
        console.log(newArr)

二,将多维数组转为字符串,再转化为一维数组

let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]] 
console.log(arr.join(',').split(','))

三,利用数组的方法

(使用 Infinity 作为深度,展开任意深度的嵌套数组)

Array.prototype.flat()
let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]]
console.log(arr.flat(Infinity))

四、利用contact

     var a = [1,[2],[3,4]]
     var result = []
     for(var i=0; i<a.length; i++){
        if(a[i].constructor == Array) {
            result = result.concat(a[i])
        }else {
            result.push(a[i])
        }
      }
      console.log(result)

 五、利用扩展运算符

 扩展运算符相当于数组拆成最小单位了,

 ...[1,2,[3, 4]] 相当于变成了 1,2,  [3, 4]///[ ].concat(...a) 就相当于 [ ].concat(1,2,[3,4])

    var a = [1,[2],[3,4]]
    var result = []
    result = [].concat(...a)
    console.log(result)

关于“js多维数组降维的方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js
AI