共计 622 个字符,预计需要花费 2 分钟才能阅读完成。
数组字符串化
- 首先使用 join 把数组转成字符串
- 然后再使用 split 切割成数组
缺点 :会把数字转成字符串
var arr = [3, 4, 5, 6, [7, 8, [9, 10, 2, [3, 4, 5, 2]]]]
arr = arr.join(',').split(',')
console.log(rr)
使用递归实现降维
var arr = [3, 4, 5, 6, [7, 8, [9, 10, 2, [3, 4, 5, 2]]]]
let newArr = []
function flat(arr) {arr.forEach(function (item) {item instanceof Array ? flat(item) : newArr.push(item)
})
}
flat(arr)
console.log(newArr)
使用 reduce 实现降维
function flat(arr) {
let newArr = arr.reduce((start, current) =>
Array.isArray(current)
? start.concat(...flat(current))
: start.concat(current),
[])
return newArr
}
let newArr = flat(arr)
console.log(newArr)
使用 ES6 的 flat 方法降维
var arr = [3, 4, 5, 6, [7, 8, [9, 10, 2, [3, 4, 5, 2]]]]
const newArr = arr.flat(Infinity);
console.log(newArr);
正文完
发表至: javascript
2020-06-21