【问题标题】:Define JS object using array values [duplicate]使用数组值定义JS对象[重复]
【发布时间】:2016-09-15 15:35:26
【问题描述】:

这有什么问题?我该怎么做?

var arr = ['image', 'image.jpg'];
var obj = {arr[0]: arr[1]};

【问题讨论】:

  • @JonathanLonowski 由于 JQuery 的复杂性,我对此感到困惑。突出部分是括号吗?
  • 对象初始化器期望键是文字——字符串、数字或标识符(仅用于它们的名称)。在支持 ES2015 的浏览器/引擎中,您可以使用额外的括号来定义来自变量/表达式的键 - var obj = { [arr[0]]: arr[1] };。否则,它必须是一个单独的声明——var obj = {}; obj[arr[0]] = arr[1];
  • @JonathanLonowski 谢谢。这正是我所需要的。想把它变成一个答案,以便我给你信用吗?

标签: javascript arrays object variable-assignment


【解决方案1】:

问题是像arr[0] 这样的表达式不能用作对象的literal initializer notation 中的键。相反,必须动态分配属性。

var arr = ['image', 'image.jpg'];
var obj = {};
obj[arr[0]] = arr[1];

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 2014-11-14
    • 1970-01-01
    • 2020-02-04
    • 2019-09-21
    • 1970-01-01
    相关资源
    最近更新 更多