JavaScript 将匿名对象键设置为变量名

标签 javascript

    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/

相关文章:

javascript - 当 ng-src 被重复调用时,将范围参数传递给自定义指令

javascript stopPropagation/cancelBubble/preventDefault 在 Firefox 中不起作用

javascript - 在 fetch React-Native 中返回代码

javascript - 通过 AJAX 发送数据到 MySQL

javascript - React setState 不覆盖对象

javascript - 如何运行多个异步 api 函数,然后在所有函数完成后调用另一个函数?

Javascript正则表达式跨浏览器差异

javascript - 执行 && 和 ||运算符将其操作数转换为 bool 值?

javascript - 如何替换字符串中所有但第一次出现的模式

javascript - 更改 Bottle 中 html 标签的更好方法