猿问

递归函数,最后是一个一维数组后,怎么进行下一步

function flatten(a, r) {

    if (!r) {

        r = [];

    }

    for (var i = 0; i < a.length; i++) {

        if (a[i].constructor == Array) {

            flatten(a[i], r);

        } else {

            r.push(a[i]);

        }

    }

    return r;

}


flatten([[1, 2],[3, 4, 5], [6, 7, 8, 9,[11,12,[12,13,[14]]]],10]);

// =>[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]


拉莫斯之舞
浏览 555回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答