如果我有一些值,我想将它存储为对象。所以最后我需要调用JSON.stringify()
(因为我试图将它存储在chrome扩展名中)
var id = '1';
var name = 'Mali Bakery'
var url = 'http://example.com/'
所以我认为最好的事情就是将它排序为:
var items = {
id : {
'name': name,
'url': url
}
}
但我无法弄清楚如何将变量放在对象模板中。
我尝试使用
item = {}
item[id] = id
item[id].name = name
// etc
items.push(item);
// and also, this approach too
items.id = id
但没有成功。
答案 0 :(得分:2)
您可以将id
放在括号[]
中,以便将其评估为变量值:
var id = '1';
var name = 'Mali Bakery'
var url = 'http://example.com/'
var items = {
[id] : {
name,
url
}
}
console.log(items);
请注意,您不应将name
用作变量的名称!
答案 1 :(得分:2)
你可以这样做
var id = '1';
var name = 'Mali Bakery'
var url = 'http://example.com/'
var items = {}
items[id] = {
'name': name,
'url': url
}
console.log(items);
这给出了以下输出:
{
1:{
name: "Mali Bakery",
url: "http://example.com/"
}
}
答案 2 :(得分:1)
var items = {};
items[id] = { name, url };
答案 3 :(得分:1)
var id = '1';
var name = 'Mali Bakery'
var url = 'http://example.com/'
var obj = {
'name': name,
'url': url
}
var items = {};
items[id] = obj;