Skip to content

扁平化数组

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]
// --- 测试 ---

基于 MIT 许可发布