有没有办法将变量名称指定为对象中的键?例如,我有这些变量存储在数组“stats”
中var name = "Sally"
var age = 35
var city = "New York"
var stats = [name, age, city]
我想创建一个对象,它使用变量名作为键和变量值作为对象的值。
示例:
var obj = {"name": "Sally", "age": 35, "city": "New York"}
我是通过创建一个函数并在数组中运行for循环来实现的。现在,我已将密钥分配给索引,我知道这是错误的,但我不知道如何使它成为变量的名称。
function objCreator (array) {
var obj = {};
for (var i = 0; i < array.length; i++) {
var key = i;
var value = array[i];
obj[key] = value;
}
return obj;
}
这是函数返回的内容:
=> { '0': Sally',
'1': 35,
'2': 'New York'
}
有什么建议吗?
答案 0 :(得分:0)
您需要将键名存储在某处
var keyNames = ["name", "age", "city"];
function objCreator (array)
{
var obj = {};
for (var i = 0; i < array.length; i++)
{
obj[keyNames[i]] = array[i]; //observe change in this line here
}
return obj;
}