主题
扁平化数组
1. 使用 flat()
js
function flat(arr) {
return arr.flat(Infinity) // Infinity 表示展开所有层级
}
// --- 测试 ---
let arr = [0, 1, [2, [3, [4, 5]]]]
console.log(flat(arr)) // [0, 1, 2, 3, 4, 5]
// --- 测试 ---2. 使用 reduce() + 递归
js
function flat(arr) {
return arr.reduce((acc, cur) => {
if (Array.isArray(cur)) {
acc.push(...flat(cur))
} else {
acc.push(cur)
}
return acc
}, [])
}
// --- 测试 ---
let arr = [0, 1, [2, [3, [4, 5]]]]
console.log(flat(arr)) // [0, 1, 2, 3, 4, 5]
// --- 测试 ---