var curr = data[i],
newArray = [],
key = curr.Frequency.Type,
obj = {key: []};
newArray.push(obj);
但是,这会产生一个键为“key”的对象!如何使用变量 key
的值创建一个新对象?
最佳答案
你可以这样做:
var curr = data[i],
newArray = [],
key = curr.Frequency.Type,
obj = {};
obj[key] = [];
newArray.push(obj);
在对象字面量本身的 JavaScript 中无法做到这一点;语法只是没有提供。
编辑 — 在写这个答案时,以上内容是正确的,但 ES2015 在对象初始值设定项中提供了动态键:
var curr = data[i],
key = curr.Frequency.Type,
newArray = [ { [key]: [] } ];
关于JavaScript 将匿名对象键设置为变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617871/