假设我调用以下函数:
var query = makeQuery("email", "foo@bar.com");
我的实施是:
makeQuery = function (key, value) {
return { key: value};
}
我最终得到的对象是:{“key”:“foo@bar.com”},这显然是错误的。我想获得{“email”:“foo@bar.com”}。我尝试这样设置:
makeQuery = function (key, value) {
return { JSON.stringify(key): value};
}
...但是我得到了一个“SyntaxError:Unexpected token”。我也想过使用toString()甚至eval(),但没有成功。所以我的问题是能够使用其实际值设置makeQuery()中返回的对象的属性,即,获取'key'的值,而不是使用'key'文字设置属性。
感谢您的帮助。
答案 0 :(得分:4)
首先创建对象,然后使用方括号语法,以便使用key
的值设置属性:
makeQuery = function (key, value) {
var query = {};
query[key] = value;
return query;
};
答案 1 :(得分:0)
对于对象中的变量键,请使用
var obj[key] = value
那么它就变成了:
function makeQuery(key, value) {
var obj = {};
obj[key] = value;
return obj;
}
答案 2 :(得分:0)
定义一个对象..
makeQuery = function (key, value) {
var o = {};
o[key] = value;
return o;
}