我试图在JavaScript中创建一个动态选择框,其范围是从“某年”开始到当前年结束的几年。是否有像JavaScript中的Ruby的range类之类的东西,还是我必须使用for循环遍历多年?
这是我想出的,尽管我认为在Ruby中我可以使用范围来考虑很多。
this.years = function(startYear){
startYear = (typeof(startYear) == 'undefined') ? 1980 : startYear
var currentYear = new Date().getFullYear();
var years = []
for(var i=startYear;i<=currentYear;i++){
years.push(i);
}
return years;
}
最佳答案
JavaScript确实具有Range对象,但是它引用DOM的任意部分,并且在IE 6/7中不受支持。
如果需要,您可以简化此功能,但实际上都是一样的。
this.years = function(startYear) {
var currentYear = new Date().getFullYear(), years = [];
startYear = startYear || 1980;
while ( startYear <= currentYear ) {
years.push(startYear++);
}
return years;
}
console.log( this.years(2019-20));