声明变量,而变量名是一个字符串?

时间:2011-06-10 06:45:38

标签: javascript

大家好!

我有一个包含一些字符串的数组:

strs = ['a1','a2','a3']

并定义了一个对象:

o={}

我想将属性添加到 o ,而属性名称是数组 strs 中的字符串 任何建议表示赞赏

2 个答案:

答案 0 :(得分:4)

尝试以下

for (var i = 0; i < strs.length; i++) {
  var name = strs[i];
  o[name] = i;
}

此代码将在对象name上创建具有给定o的属性。循环运行后,您将能够像这样访问它们

var sum = o.a1 + o.a2 + o.a3;  // sum = 3

这是一个小提琴,有一些示例代码

答案 1 :(得分:1)

可以使用方形括号表示法来完成。

var strs = ['a1','a2','a3'];
var o = {};

for(i = 0; i<strs.length; i++)
{
    o[strs[i]] = "value";
}

document.write(o.a1);