使用其值设置对象属性

时间:2013-07-07 17:33:53

标签: javascript

假设我调用以下函数:

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

感谢您的帮助。

3 个答案:

答案 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;
}