美文网首页
js 数组拍平方式

js 数组拍平方式

作者: Amfishers | 来源:发表于2020-07-21 10:40 被阅读0次

    var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

    原生方法 - 最简单

    arr.flat(Infinity)  // [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]
    

    正则

    arr =  JSON.stringify(arr).replace(/\[|\]/ig, '').split(',')
    

    toString

    arr =  arr.toString().split(',')
    

    reduce

    function flat(arr){
            if (!Array.isArray(arr)) return false
        
        let res = arr.reduce((prev,cur)=>{
            return prev.concat(Array.isArray(cur) ? flat(cur) : cur)
        },[])
        return res;
    };
    
    

    同理, forEach 、 map 都可以实现

    相关文章

      网友评论

          本文标题:js 数组拍平方式

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