javascript - 使用变量作为名称向 JavaScript 对象添加属性?

标签 javascript jquery object syntax

我正在使用 jQuery 从 DOM 中提取项目,并希望使用 DOM 元素的 id 在对象上设置属性。

示例

const obj = {}

jQuery(itemsFromDom).each(function() {
  const element = jQuery(this)
  const name = element.attr('id')
  const value = element.attr('value')

  // Here is the problem
  obj.name = value
})

如果 itemsFromDom 包含一个 id 为“myId”的元素,我希望 obj 有一个名为“myId”的属性。以上给了我name

如何使用 JavaScript 使用变量命名对象的属性?

最佳答案

你可以使用这个等价的语法:

obj[name] = value

示例:

let obj = {};
obj["the_key"] = "the_value";

或具有 ES6 功能:

let key = "the_key";
let obj = {
  [key]: "the_value",
};

在这两个示例中,console.log(obj) 将返回:{ the_key: 'the_value' }

关于javascript - 使用变量作为名称向 JavaScript 对象添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/695050/

相关文章:

javascript - Gulp 错误 - TypeError : Cannot call method 'match' of undefined

javascript - JQuery 获取表中的选择元素

java - 错误 : Generic Array Creation

javascript - 为什么返回 false 可以与alert一起使用,但不能与console.log一起使用

Javascript - JQuery - OnHover NOT OnClick - 修改插件

javascript - 使用带有 ajax 和 jquery 的 js 模糊的 Laravel 电子邮件验证

javascript - 单击电话间隙时按钮不会改变颜色

javascript - 使用 CSS 按固定值调整大小

javascript - 获得两个对象的键的交集的最佳方法?

c++ - 试图访问对象的成员数据 - 即使在启动后仍未定义,出了什么问题?