美文网首页
数组扁平化

数组扁平化

作者: 唐吉柯德 | 来源:发表于2021-04-21 06:38 被阅读0次

    假如我们现在有一个数组长这样

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

    那我们如何让他扁平化,即转化成

    [1,2,3,4,5,6]
    
    • 方案一:利用JS提供的API-->flat
        let arr= [1, [2, [3, [4, [5, 6]]]]];
        arr.flat(Infinity)
    
    • 方案二:利用reduce方法
        let arr= [1, [2, [3, [4, [5, 6]]]]];
        function flat(params){
            return params.reduce(function(newArr, itemArr){
                return newArr.concat(Array.isArray(itemArr)? flat(itemArr): itemArr)
            }, [])
        }
        flat(arr);
    
    • 方案三:利用join和split
        let arr= [1, [2, [3, [4, [5, 6]]]]];
        function flat(params){
            return arr.join(',').split(',').map(item => parseInt(item))
        }
        flat(arr)
    

    相关文章

      网友评论

          本文标题:数组扁平化

          本文链接:https://www.haomeiwen.com/subject/ywlalltx.html