目录一,递归二,将多维数组转为字符串,再转化为一维数组三,利用数组的方法四、利用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))
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://lsjlt.com/news/208387.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0