Javascript:从数组设置变量

标签 javascript arrays variables

我有一系列这样的月份:

var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];

我想做的是将月份的名称设为一个变量并为其设置一个对象,如下所示:

for(i=0;i<11;i++){
months[i] = $(".bitem:eq("+i+")");
}

但这只是替换了 months[i](例如,if i=0 它将用对象替换“jan”)。我想要做的是使用 months[i] 等于的字符串作为变量名。我试过像这样使用 .toString():

for(i=0;i<11;i++){
months[i].toString() = $(".bitem:eq("+i+")");
}

但是我得到了错误:

Error: ReferenceError: invalid assignment left-hand side

最佳答案

为什么你需要有变量名 jan, feb 等等?据我所知,您可以使用具有属性的普通旧对象来做任何您想做的事情:

var monthNames = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];

var months = {};
for(var i = 0; i < monthNames.length; i++) {
    months[monthNames[i]] = $(".bitem:eq("+i+")");
}

// Example usage
var januaryItem = months["jan"];
// or equivalent: months.jan;

关于Javascript:从数组设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819912/

相关文章:

java - Java中变量的默认值

javascript - 渲染器优于原生元素方法?

JavaScript 将变量名转换为字符串

javascript - 来自 api 的表数据

javascript - 复制 stackoverflow 标签系统的功能

objective-c - 目标 - C -> 将数组作为函数参数传递

javascript - 正则表达式替换与任何字符匹配的所有内容

ios - 目标 - C、协议(protocol)、数组、字典 - 测试

c# - 具有另一个结构的固定大小数组的结构

asp.net - vb.net View 状态与公共(public)变量