用javascript设置年份范围

用javascript设置年份范围,javascript,arrays,range,Javascript,Arrays,Range,如何定义数组范围而不在javascript中指定每个选项 现在我有这个: var year = { '0': '2000', '1': '2001', '2': '2002', '3': '2003', '4': '2004', '5': '2005', '6': '200

如何定义数组范围而不在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-year={}//如果需要数组,请使用[]
var min_year=2000;
var max_year=2009年;

对于(var i=0;i您不必使用循环来解决问题

var startYr = 2000;

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

// usage
year(0);

// output
2000

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

  • 这被认为是一个对象

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

    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);
    
    函数生成年份范围(开始、结束){
    风险值年数=[];
    
    对于(var year=start;year-Um,您缺少一个year可能的重复:您说您想要一个数组,但您的代码使用的是对象?但是使用这个,我在我的滑块中得到了3930年(我使用了{tag:'select','class':'span3',options:year})这里需要注意的一件事,那不是数组,事实是您可以做
    year[5]
    这是因为您的对象文本有一个5property@NicoSantangelo正确。我使用了一个对象来模拟OP的对象。如果您想要一个真正的数组,您可以将我的第一行更改为
    var year=[];
    。(数组和javascript中的普通对象没有太大区别)谢谢@stano,是的,我想这更有意义。这里最重要的是OP意识到她可以使用循环。剩下的我不太担心,但准确也很重要。@stano更新-我完全错过了她评论的那部分,是的,通常在提供类似选项时使用普通对象,所以我认为你是r好的。这与问题有什么关系?您的代码只返回一年,不会将其存储到数组/对象中(很难理解用户想要哪一个)