首页 > 编程语言 > 详细

手写代码 -- 数组扁平化

时间:2020-10-13 15:00:54      阅读:28      评论:0      收藏:0      [点我收藏+]

方案一,利用Array自带方法,最好记的方法。

function recursionFlat1(arr = []) {
            return arr.flat(Infinity)
        }

方案二,最容易弄懂的方法。

function recursionFlat2(arr = []) {
            const res = [];
            arr.forEach(item => {
                if(Array.isArray(item)) {
                    res.push(...recursionFlat2(item))
                } else {
                    res.push(item)
                }
            })
            return res;
        }

方案三,方案二的简化版,思路相同

function recursionFlat3(arr = []) {
            return arr.reduce((res, item) => res.concat(Array.isArray(item) ? recursionFlat3(item) : item), [])
        }

 

手写代码 -- 数组扁平化

原文:https://www.cnblogs.com/tcxq/p/13807514.html

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