使用變數作為鍵名,為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' }