javascript从for循环创建数组

时间:2012-09-19 08:35:02

标签: javascript arrays for-loop

我将年份范围存储为两个变量。我想创建一个范围内的年份数组。

类似的东西:

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

for (var i = yearStart; i < yearEnd; i++) {

     var obj = {
        ... 
     };

      arr.push(obj);
}

我应该把什么放在obj里?

我想要生成的数组如下:

arr = [2000, 2001, 2003, ... 2039, 2040]

4 个答案:

答案 0 :(得分:36)

如果你可以失去yearStart值,那么

会更短:

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

while(yearStart < yearEnd+1){
  arr.push(yearStart++);
}

更新: 如果您可以使用ES6语法,则可以按照建议here

的方式进行
let yearStart = 2000;
let yearEnd = 2040;
let years = Array(yearEnd-yearStart+1)
    .fill()
    .map(() => yearStart++);

答案 1 :(得分:18)

您需要推送i

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

for (var i = yearStart; i < yearEnd+1; i++) {
    arr.push(i);
}

然后,您得到的数组将是:

  

arr = [2000, 2001, 2003, ... 2039, 2040]

希望这有帮助

答案 2 :(得分:6)

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

for (var i = yearStart; i <= yearEnd; i++) {

     arr.push(i);
}

答案 3 :(得分:1)

删除obj,然后在for循环中执行此操作:

arr.push(i);

此外,i < yearEnd条件不包括最后一年,因此请将其更改为i <= yearEnd