web-dev-qa-db-ja.com

javascriptはforループから配列を作成します

年の範囲を2つの変数に格納しています。範囲内の年の配列を作成します。

何かのようなもの:

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]
28
Mauro74

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++);
37
Mat

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]

お役に立てれば

20
Littm
var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

     arr.Push(i);
}
6
Mihai Iorga

objを削除し、forループ内でこれを実行します。

arr.Push(i);

また、i < yearEnd条件には最終年が含まれないため、i <= yearEnd

1
skunkfrukt