0

假设我调用以下函数:

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'文字设置属性。

谢谢您的帮助。

4

3 回答 3

4

首先创建对象,然后使用方括号语法,以便您可以使用以下设置属性key

makeQuery = function (key, value) {
    var query = {};
    query[key] = value;
    return query;
};
于 2013-07-07T17:35:39.187 回答
0

对于对象中的变量键,使用

var obj[key] = value

那么它就变成了:

function makeQuery(key, value) {
    var obj = {};
    obj[key] = value;
    return obj;
}
于 2013-07-07T17:36:06.930 回答
0

定义一个对象..

makeQuery = function (key, value) {
 var o = {};
 o[key] = value; 
 return o;
}
于 2013-07-07T17:36:31.800 回答