Javascript javascript从for循环创建数组

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/12491101/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 10:31:27  来源:igfitidea点击:

javascript create array from for loop

javascriptarraysfor-loop

提问by Mauro74

I have a years range stored into two variables. I want to create an array of the years in the range.

我有一个存储在两个变量中的年份范围。我想在该范围内创建一个年份数组。

something like:

就像是:

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

     var obj = {
        ... 
     };

      arr.push(obj);
}

What should I put inside the obj ?

我应该在 obj 里面放什么?

The array I'd like to generate would be like:

我想生成的数组将是这样的:

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

回答by Mat

even shorter if you can lose the yearStart value:

如果您可以丢失 yearStart 值,则更短:

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

UPDATE: If you can use the ES6 syntax you can do it the way proposed here:

更新:如果您可以使用 ES6 语法,则可以按照此处建议的方式进行操作:

let yearStart = 2000;
let yearEnd = 2040;
let years = Array(yearEnd-yearStart+1)
    .fill()
    .map(() => yearStart++);

回答by Littm

You need to push i

你需要推 i

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

Then, your resulting array will be:

然后,您生成的数组将是:

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

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

Hope this helps

希望这可以帮助

回答by Mihai Iorga

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

     arr.push(i);
}

回答by skunkfrukt

Remove objand just do this inside your for loop:

删除obj并在您的 for 循环中执行此操作:

arr.push(i);

Also, the i < yearEndcondition will not include the final year, so change it to i <= yearEnd.

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