繁体   English   中英

在javascript中设置年份范围

[英]set a year range in javascript

如何在不指定javascript中每个选项的情况下定义数组范围?

现在我有这个:

    var year = { 
            '0': '2000',
                '1': '2001',
                '2': '2002',
                '3': '2003',
                '4': '2004',
                '5': '2005',
                '6': '2006',
                '7': '2007',
                '8': '2008',
                '9': '2009' 
            };

您说过要一个数组,但是示例中有一个普通的旧对象。 但是,从您对这个答案的评论看来,您确实确实想要一个普通的对象,所以这就是我要使用的对象。

无论如何,您可以通过循环执行此操作:

var year = {};        //or use [] if you want an array
var min_year = 2000;
var max_year = 2009;
for(var i = 0; i <= max_year - min_year; i++) {
    year[i] = i + min_year;
}

alert(year[5]);   //2005

您可以根据需要扩展此示例。

您不必使用循环来解决问题

var startYr = 2000;

var year = function(i){
    return i + startYr;
};

// usage
year(0);

// output
2000

您的代码示例和问题完全不同:

  1. 这被认为是一个对象

     var variable = {}; 
  2. 而这被认为是一个数组

     var variable = []; 

它们之间有细微差别。 有关该主题的更多信息,您可以检查数组和对象之间的区别是什么?

因此,如果您实际上需要一个javascript数组,则此代码可以完成工作:

function generate_year_range(start, end){
    var years = [];
    for(var year = start; year <= end; year++){
        years.push(year)
    }
    return years;
}
var my_years = generate_year_range(2000,2009);

这将产生从2000年到2009年(包括)的年份,并将它们存储到一个数组中。 因此,您的my_years变量将保持[2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM