数组扁平化

只扁平一层

[1, 2, [3, [4, [5, 6]]]] ===> [ 1, 2, 3, [ 4, [ 5, 6 ] ] ]

const flattenDeep = (arr = []) => {
  return arr.reduce((pre, cur) => pre.concat(cur), [])
}

全部扁平

[1, 2, [3, [4, [5, 6]]]] ===> [ 1, 2, 3, 4, 5, 6 ]

const flattenDeep = (arr = []) => {
  return arr.reduce((pre, cur) => {
    return pre.concat(Array.isArray(cur) ? flattenDeep(cur) : cur)
  }, [])
}

推荐阅读更多精彩内容

  • 数组扁平化概念 数组扁平化是指将一个多维数组变为一维数组 实现 1. reduce 遍历数组每一项,若值为数组则递...
    焦迈奇阅读 93评论 0 0
  • JavaScript专题之数组扁平化 扁平化 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何...
    Vicky丶Amor阅读 299评论 0 4
  • 数组扁平化是指将一个多维数组变为一维数组[1, [2, 3, [4, 5]]] ------> [1, 2...
    monkeyfly36阅读 89评论 0 0
  • 数组扁平化,取出嵌套数组中的所有元素放到一个数组中,如:[1,[2,[[3,4],5],6]] = > [1,2,...
    lu900618阅读 153评论 0 0
  • js实现数组扁平化 数组的扁平化,就是将一个嵌套多层的数组array(嵌套可以是任何层数)转换为只有一层的额数组。...
    lwz4070阅读 222评论 0 0