填充空数组

时间:2014-04-29 09:03:14

标签: javascript loops foreach

我需要从0到30进行迭代,但我想在forEach的帮助下执行此操作:

new Array(30).forEach(console.log.bind(console);

当然这不起作用,因此我做了:

new Array(30).join(',').split(',').forEach(console.log.bind(console));

还有其他方法可以填充空数组吗?

4 个答案:

答案 0 :(得分:3)

实际上,有一种简单的方法可以创建[0..N)(即不包括N)范围:

var range0toN = Object.keys(Array.apply(0,Array(N)));

如果你只想获得一个正确的N个元素数组,显然可以删除Object.keys部分。

仍然像其他人说的那样,在这种特殊情况下,使用for循环可能更好。

答案 1 :(得分:0)

如果你只是想迭代,那就像这样使用for循环

for (var i = 0; i < 30; i += 1) {
    ...
    ...
}

实际上,如果您正在寻找创建一系列数字的方法,那么您可以

console.log(Array.apply(null, {length: 30}).map(Number.call, Number));

它将创建0到29之间的数字。来源:Creating range in JavaScript - strange syntax

答案 2 :(得分:0)

您可以尝试使用for循环。新阵列不是最佳实践

    var index,      // we use that in the for loop
        counter,    // number of elements in array
        myArray;    // the array you want to fill

    counter = 30;
    myArray = [];

    for (index = 0; index < counter; index += 1) {

        myArray[index] = [];
        /* 
        // alternative:
        myArray.push([]);
        // one-liner
        for (index = 0; index < counter; index += 1) myArray.push([]);
        */
    }

答案 3 :(得分:-1)

如果你坚持foreach

var data = [1, 2, 3];
data.forEach(function(x) {
    console.log(x);
});