在递归函数中合并Javascript数组

时间:2013-10-08 21:30:34

标签: javascript arrays angularjs recursion

我在递归期间遇到麻烦连接“两个”数组。我从一个空数组开始,在函数中我将它与新数组连接起来。连接版本成为数组,再次与同一函数中的另一个数组连接。以下是我想要的:

var oldArray = [];
for (i=0; i<10; i++) {
    var newArray = [i];
    oldArray = oldArray.concat([newArray]);
}
document.write(oldArray);

produces: [0,1,2,3,4,5,6,7,8,9]

但如果我使用我的实际生产代码,我会前进两步,退一步效果。

用角度写的

go()是包装函数

var accounts = [];

$http.get('/api/account/', {params:{page:page}}).then(function (result) {
    var count = result.data.count,
        totalPages = Math.ceil(count/10),
        results = result.data.results;

    accounts = accounts.concat(results);

    if (page < totalPages) {
        page++;
        go(page);
    }

    return accounts;
});

produces: [0,1,0,2,1,3,2,4,3,5,4,6,5,7,6,8,7,9]

0 个答案:

没有答案