这篇文章主要介绍“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多维数组降维的方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程之家行业资讯频道,小编每天都会为大家更新不同的知识点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。