我正在尝试这样做:
var sortAfter = req.query.sortAfter || '_id';
var ascending = req.query.direction || -1;
var sorted = {sortAfter: ascending};
但是console.log(已排序)输出以下对象:
{ sortAfter: -1 }
就像在对象创建中没有使用第一个变量......
问题:如何让对象由两个变量组成,而不是一个变量和一个固定字符串?
答案 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;
下标运算符会将其操作数转换为字符串