数组扁平化

本文最后更新于:2023年3月19日 晚上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function flat(arr) {
// 1.flat方法
// return arr.flat(Infinity)
// 2.toString()再split()
// return arr.toString().split(',')
// 3.reduce
// return arr.reduce((a,b)=>a.concat(Array.isArray(b)?flat(b):b),[])
// 4.递归
const res = [];
for (const item of arr) {
if (Array.isArray(item)) {
res.push(...flat(item));
} else {
res.push(item);
}
}
return res;
}

const arr = [0, 1, [2, 3, [4, 5, 6, [7, 8, 9, [10]]]]];

console.log(flat(arr));

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!