Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menambah Sifat Secara Dinamik pada Objek JavaScript Menggunakan Nama Pembolehubah?

Bagaimana untuk Menambah Sifat Secara Dinamik pada Objek JavaScript Menggunakan Nama Pembolehubah?

Susan Sarandon
Susan Sarandonasal
2024-12-23 19:59:13726semak imbas

How to Dynamically Add Properties to JavaScript Objects Using Variable Names?

Cara Menambah Sifat Secara Dinamik pada Objek JavaScript

Apabila bekerja dengan elemen DOM, perkara biasa perlu menetapkan sifat pada objek menggunakan ID elemen tersebut. Pertimbangkan situasi berikut:

Anda mempunyai tatasusunan elemen DOM yang diambil menggunakan jQuery dan anda mahu menetapkan sifat pada objek menggunakan ID setiap elemen.

const obj = {};

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

  // This line does not work as intended:
  obj.name = value;
});

Kod di atas akan menetapkan sifat pada objek, tetapi nama sifat akan sentiasa "nama" tanpa mengira ID elemen. Untuk menetapkan nama sifat secara dinamik menggunakan pembolehubah, anda harus menggunakan kurungan dan nama pembolehubah:

obj[name] = value;

Ini membolehkan anda mencipta sifat pada objek menggunakan ID atau mana-mana pembolehubah lain sebagai nama sifat.

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

console.log(obj); // Output: { the_key: 'the_value' }

Sebagai alternatif, anda boleh menggunakan ciri ES6 untuk sintaks yang lebih ringkas:

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

console.log(obj); // Output: { the_key: 'the_value' }

Menggunakan kurungan membolehkan anda menetapkan nama sifat secara dinamik pada objek JavaScript, memberikan anda fleksibiliti dan kawalan yang lebih besar ke atas manipulasi data.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Sifat Secara Dinamik pada Objek JavaScript Menggunakan Nama Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Terima kasih atas MemoizeArtikel seterusnya:Terima kasih atas Memoize