数组扁平化

只扁平一层

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