変数を名前として使用して JavaScript オブジェクトにプロパティを追加しますか? 質問する

変数を名前として使用して JavaScript オブジェクトにプロパティを追加しますか? 質問する

jQuery を使用して DOM から項目を取り出し、idDOM 要素を使用してオブジェクトのプロパティを設定したいと考えています。

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
})

に「myId」のitemsFromDomを持つ要素が含まれている場合、 「myId」という名前のプロパティが必要です。上記の例では、 が得られます。idobjname

JavaScript を使用して変数を使用してオブジェクトのプロパティに名前を付けるにはどうすればよいでしょうか?

ベストアンサー1

次の同等の構文を使用できます:

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' }

おすすめ記事