美文网首页
js多维数组扁平化

js多维数组扁平化

作者: TurnHug | 来源:发表于2023-11-13 11:33 被阅读0次

    把数组扁平化[1,2,[3,[4,[9,[1]],5]]],结果[1, 2, 3, 4, 9, 1, 5]
    方法一

    function flatten (arr) {
        let result = []
        arr.forEach(i => {
            if (Array.isArray(i)) {
                result = result.concat(flatten(i))
            } else {
                result.push(i)  
            }
        });
        return result
    }
    

    方法二

    function flatten (arr) {
        return arr.reduce((pre,next)=> {
            return pre.concat(Array.isArray(next)?flatten(next):next)
        },[])
    }
    

    方法三

    function flatten (arr) {
        return arr.toString().split(',').map(Number)
    }
    

    方法四
    flat(depth)
    ES6的flat方法,depth 是 flat 的参数,depth 是可以传递数组的展开深度(默认不填、数值是 1),即展开一层数组。参数也可以传 Infinity,代表不论多少层都要展开

    function a (arr) {
        return arr.flat(Infinity)
    }
    

    相关文章

      网友评论

          本文标题:js多维数组扁平化

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