【发布时间】:2012-07-15 13:06:09
【问题描述】:
我在 JavaScript 中构建一些对象并将这些对象推送到一个数组中,我将我想要使用的键存储在一个变量中,然后像这样创建我的对象:
var key = "happyCount";
myArray.push( { key : someValueArray } );
但是当我尝试检查每个对象的对象数组时,键是"key",而不是变量键的值。有没有办法从变量中设置键的值?
小提琴以获得更好的解释: http://jsfiddle.net/Fr6eY/3/
【问题讨论】:
-
ES6 中的解决方案是将变量放在方括号中以便对其求值。
var key = "happyCount"; myArray.push({ [key]: someValueArray }); -
@Jake 目前唯一不支持这个es6特性的浏览器是IE11:kangax.github.io/compat-table/es6/…
-
@Jake 说得好。一种可能的解决方案是使用 babel 将 ES6 转译成 ES5。
-
@Jake 这正是 babel 的用途。正如 Dan Cron 上面提到的那样。
-
@Jake 正如 Hunter 所说,最好不要为 ES5 用户编写代码。如果您需要支持旧版浏览器,请使用 pollyfill 和 transpile。现在是 2018 年,而不是 2009 年,我们真的需要继续前进。
标签: javascript