JS,将对象属性设置为来自另一个对象属性

时间:2015-07-30 22:19:58

标签: javascript node.js

我想为object属性提供一个值,但它来自另一个对象。这是这样的情况:

    c.query('SELECT `' + field + '` FROM `table` WHERE `' + field + '` = :' + field,
            { field: value })
        .on('result', function(res) {
            res.on('row', function(row) {
                callback(inspect(row));
            });
        });

我想以我发送对象{field: 'someField', value: 'someValue'}的方式自动化它,并且我在上面的代码的第二行中使用了对象的set属性的引用。

我想出了这段代码:

    var a = {
        field: 'email',
        value: 'john.doe@gmail.com'
    };

    var b = {
        [a.field]: a.value
    };

    console.log(b);

它在这里工作:jsFiddle,但在实际的node.js服务器脚本中它返回错误unexpected token "["所以它就像我不能从另一个对象属性引用设置对象属性。有人有想法吗?

1 个答案:

答案 0 :(得分:2)

b = {}; b[a.field] = a.value;

是最接近您的表示形式,可以在我怀疑的JS版本中使用。