使用变量作为键名,向JavaScript对象添加属性?
P粉071559609
2023-08-24 18:04:17
<p>我正在使用jQuery从DOM中提取项目,并希望使用DOM元素的<code>id</code>设置对象的属性。</p>
<h3>示例</h3>
<pre class="brush:js;toolbar:false;">const obj = {}
jQuery(itemsFromDom).each(function() {
const element = jQuery(this)
const name = element.attr('id')
const value = element.attr('value')
// 这里是问题所在
obj.name = value
})
</pre>
<p>如果<code>itemsFromDom</code>中包含一个<code>id</code>为"myId"的元素,我希望<code>obj</code>有一个名为"myId"的属性。上面的代码给我<code>name</code>。</p>
<p>如何使用JavaScript使用变量命名对象的属性?</p>
使用ECMAScript 2015,您可以直接在对象声明中使用方括号表示法:
其中
key
可以是任何类型的表达式(例如变量),返回一个值:你可以使用等效的语法:
示例:
或者使用ES6的特性:
在这两个示例中,
console.log(obj)
将返回:{ the_key: 'the_value' }