使用对象属性的值设置对象属性

Set an object property by using its value

本文关键字:对象 属性 设置      更新时间:2023-09-26

假设我调用以下函数:

var query = makeQuery("email", "foo@bar.com");

我的实现是:

makeQuery = function (key, value) {
    return { key: value};
}

我最终得到的对象是:{"key":"foo@bar.com"},这显然是错误的。我想获得{"电子邮件":"foo@bar.com"}。我试着这样设置:

makeQuery = function (key, value) {
    return { JSON.stringify(key): value};
}

但我得到了一个"SyntaxError:意外的令牌"。我也想过使用toString()甚至eval(),但都没有成功。因此,我的问题是能够使用makeQuery()中返回的对象的实际值来设置其属性,也就是说,获取"key"的值,而不是使用"key"文本来设置属性。

谢谢你的帮助。

首先创建对象,然后使用方括号语法,这样您就可以使用key:的设置属性

makeQuery = function (key, value) {
    var query = {};
    query[key] = value;
    return query;
};

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

var obj[key] = value

所以它变成了:

function makeQuery(key, value) {
    var obj = {};
    obj[key] = value;
    return obj;
}

定义一个对象。。

makeQuery = function (key, value) {
 var o = {};
 o[key] = value; 
 return o;
}