iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js多维数组降维的5种方法
  • 457
分享到

js多维数组降维的5种方法

js多维数组降维js数组降维 2023-05-15 05:05:38 457人浏览 独家记忆
摘要

目录一,递归二,将多维数组转为字符串,再转化为一维数组三,利用数组的方法四、利用contact 五、利用扩展运算符多维数组降维也就是数组扁平化 数组扁平化的方法有很多种,但

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

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

一,递归

        // 一,递归
        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多维数组降维的5种方法的文章就介绍到这了,更多相关js多维数组降维内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: js多维数组降维的5种方法

本文链接: https://www.lsjlt.com/news/208387.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作