41

年の範囲を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]
4

4 に答える 4

57

yearStart値を失う可能性がある場合は、さらに短くなります。

var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

更新:ES6構文を使用できる場合は、ここで提案されている方法で実行できます。

let yearStart = 2000;
let yearEnd = 2040;
let years = Array(yearEnd-yearStart+1)
    .fill()
    .map(() => yearStart++);
于 2012-09-19T08:59:47.447 に答える
30

プッシュする必要があります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]

お役に立てれば

于 2012-09-19T08:36:25.560 に答える
8
var yearStart = 2000;
var yearEnd = 2040;

var arr = [];

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

     arr.push(i);
}
于 2012-09-19T08:37:36.523 に答える
3

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

arr.push(i);

また、i < yearEnd条件には最終年度が含まれないため、に変更してi <= yearEndください。

于 2012-09-19T08:38:36.107 に答える