数组扁平化方法

Posted sanqianjin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组扁平化方法相关的知识,希望对你有一定的参考价值。

  //方法一:循环递归
    var complexdatalist = [1, [2, 3], [4, 5], [6, [7, 8]], [9, [10, [11, 12]]]]
    function myconcat(complexdatalist) {
        var simpledatalist = [];
        for (var i = 0; i < complexdatalist.length; i++) {
            if (Array.isArray(complexdatalist[i])) {
                simpledatalist = simpledatalist.concat(myconcat(complexdatalist[i]));
            } else {
                simpledatalist = simpledatalist.concat(complexdatalist[i]);
            }
        }
        return simpledatalist
    }

    console.log(myconcat(complexdatalist));

    //方法2:reduce累加器
    var complexdatalist = [1, [2, 3], [4, 5], [6, [7, 8]], [9, [10, [11, 12]]]]
    function flatten(arr) {
        return arr.reduce(function (prev, item) {
            return prev.concat(Array.isArray(item) ? flatten(item) : item);
        }, []);
    }
    console.log(flatten(complexdatalist));

 

以上是关于数组扁平化方法的主要内容,如果未能解决你的问题,请参考以下文章

数组扁平化的常见方法

数组的扁平化处理方法

数组扁平化的五种方法

JavaScript数组常用方法解析和深层次js数组扁平化

JavaScript数组扁平化数组去重常见方法

JS如何实现数组扁平化?不同的方法有什么区别?