# 实现 flatten 函数
let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [12, 13]]]
1
# 迭代版
每次拿数组的第一个元素,当判断第一个元素是数组的时候,使用arrs.unshift(...item)
来
function flatten(arr) {
let arrs =[...arr]
let newArr = [];
while (arrs.length) {
let item = arrs.shift()
if(Array.isArray(item)){
arrs.unshift(...item)
}else {
newArr.push(item)
}
}
return newArr
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13