带有变量的Javascript设置对象

时间:2015-06-18 23:20:33

标签: javascript object

我试图使用变量设置对象。这就是我所拥有的:

var sortby = 'post_date';
var sort = { sortby : 'asc' };

但是当我console.log(sort)时,我得到Object {sortby: "asc"}

如何将此对象的键设置为变量的值?

2 个答案:

答案 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