创建具有可变属性的对象

时间:2013-10-23 08:19:28

标签: javascript node.js express

我正在尝试这样做:

var sortAfter = req.query.sortAfter || '_id';
var ascending = req.query.direction || -1;
var sorted = {sortAfter: ascending};

但是console.log(已排序)输出以下对象:

{ sortAfter: -1 }

就像在对象创建中没有使用第一个变量......

问题:如何让对象由两个变量组成,而不是一个变量和一个固定字符串?

3 个答案:

答案 0 :(得分:2)

尝试这种方式:

var sortAfter = req.query.sortAfter || '_id';
var ascending = req.query.direction || -1;
var sorted = {};
sorted[sortAfter] = ascending;

答案 1 :(得分:1)

在对象文字中,键总是文字,它们永远不是变量。如果要设置动态对象键,则必须这样做:

var sorted = {};
sorted[sortAfter] = ascending;

答案 2 :(得分:1)

使用下标/括号表示法:

var sorted = {};
sorted[sortAfter] = ascending;

下标运算符会将其操作数转换为字符串