数组扁平化
# 数组扁平化
# flat
arr = arr.flat(Infinity)
1
# toString
// 先转字符串,再逗号切割,之后给每一个转为数字
arr = arr
.toString()
.split(',')
.map((e) => Number(e))
1
2
3
4
5
2
3
4
5
# JSON.stringify
// 转字符串,之后删除 [ 和 ],再逗号切割,之后给每一个转为数字
arr = JSON.stringify(arr)
.replace(/(\[|\])/g, '')
.split(',')
.map((e) => Number(e))
1
2
3
4
5
2
3
4
5
# 循环
while (arr.some((e) => Array.isArray(e))) {
arr = [].concat(...arr)
}
1
2
3
2
3
# 递归
function myFlat(arr) {
let fn = (arr) => {
let result = []
arr.forEach((element) => {
if (Array.isArray(element)) {
result.push(...fn(element))
} else {
result.push(element)
}
})
return result
}
return fn(arr)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
上次更新: 2021/09/13, 15:11:59