流星中可变键的替代方法

问题描述:

如何将变量值用作对象键?流星中可变键的替代方法

例如,将对象动态添加到Collection时。当我这样做时:

addToDB(type, account) { 
    Accounts.insert({type: account}); 
}; 

它不起作用,因为钥匙不能作为变量在这里。

+0

例如?你能举一个你想要实现的例子吗? – V31 2014-09-11 09:29:13

JavaScript对象文字不支持动态键。

相反,你可以达到使用目的:

var obj = {}; 
var key = "some key"; 
obj[key] = "test"; 

你的情况:

addToDB(type, account) { 
    var obj = {}; 
    obj[type] = account; 
    Accounts.insert(obj); 
}; 

更多细节在这里: Creating object with dynamic keys

+0

你的答案不再准确。 ES6增加了对创建动态对象密钥的支持。如果上述问题的答案是 'addToDB(type,account){ Accounts.insert({[type]:account}); };' 也许你可以改善你的答案? – PaulT 2017-01-31 20:25:25