我试图使用变量设置对象。这就是我所拥有的:
var sortby = 'post_date';
var sort = { sortby : 'asc' };
但是当我console.log(sort)
时,我得到Object {sortby: "asc"}
如何将此对象的键设置为变量的值?
答案 0 :(得分:2)
对象文字不能具有动态属性名称,但属性设置器语法有效:
var sortby = 'post_date';
var sort = { };
sort[sortby] = 'asc';
答案 1 :(得分:2)
在ES6(最新的JavaScript标准)之前,您只能执行以下操作:
var sortby = 'post_date';
var sort = {};
sort[sortby] = 'asc';
但是,如果您确定可以将ES6功能用于您正在做的事情,那么这也是可能的:
var sortby = 'post_date';
var sort = {
[sortby]: 'asc
};
有关ES6功能的更多信息,请参阅此页面:https://github.com/lukehoban/es6features