我有一个类似于下面的对象数组。
var object1 = {...},
var object2 = {...};
var array = [object1,object2];
我希望以后能够在脚本中访问实际的变量名。例如,id喜欢返回实际的字符串“object1”而不是在使用类似于下面的循环的代码时返回实际的对象。
for (i in array) {
var variableName = array[i];
}
我考虑使用一个关键值对,但我们已经很清楚地知道了这些细节。
keyValuePair = [{name: "object1", object:object1}, {name:"object2",object:object2}];
我不确定这是理想的结构还是如何访问它。
思考?
答案 0 :(得分:0)
为什么不将变量名称用作属性?
var object1 = {...},
var object2 = {...};
var array = { object1: object1, object2: object2 };
答案 1 :(得分:0)
我会创建这样的东西:
var object1 = {...};
var object2 = {...};
var keyValuePair = {
object1: object1,
object2: object2
};
然后您可以像object1
那样访问keyValuePair["object1"]
。
请注意,在ECMAScript 6中,语法较短:
var keyValuePair = {
object1,
object2
};