首页 > 编程语言 > 详细

数组扁平化

时间:2020-08-02 21:50:30      阅读:88      评论:0      收藏:0      [点我收藏+]
1. 调用 ES6 中的 flat 方法 
arr.flat(Infinity)

 
2.  递归 
     function flatten(arr) {
      let res = []
      for (let i of arr) {
        Array.isArray(i) ? res = res.concat(flatten(i)) : res.push(i)
      }
      return res
    }
    console.log(flatten(arr)) 
3.  reduce 
    function flatten(arr) {
      return arr.reduce((pre, cur) => pre.concat(Array.isArray(cur) ? flatten(cur) : cur), [])
    }
    console.log(flatten(arr))
4. 扩展运算符
function flatten(arr) {
      while (arr.some(item => Array.isArray(item))) {
        console.log(arr, ‘kkk‘)
        arr = [].concat(...arr)
        console.log(arr, ‘lll‘)
      }
      return arr
    }
    console.log(flatten(arr))

数组扁平化

原文:https://www.cnblogs.com/wangsai-666/p/13420332.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!