我正在使用emberjs查找内容,但问题是与Ember相比,与JS相关的更多。

我有两个变量:var type = "stars"; var term = "5"

我的API中有一个称为星号的属性。

当我这样做时:App.Response.find({stars: term});我找到结果

但是,当我这样做时:App.Response.find({type: term});我找不到结果。我希望将其翻译为App.Response.find({stars: term}),因为type的值为"stars"

我假设这是因为type(值stars)不被理解为哈希键吗?

最佳答案

确实-它不会评估对象键。如果要以{stars:5}动态创建该对象,可以执行以下操作:

var obj = {};
obj[type] = term;//Using the array notation will cause JS to evaluate type to "stars" and use that as the key
//obj is now {stars:5}
App.Response.find(obj);

关于javascript - 如何将String转换为对象类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18385017/

10-12 13:15