Cara mengemas kini sifat objek dalam javascript
Gunakan notasi titik untuk mengemas kini sifat dengan nama yang diketahui; 2. Gunakan notasi kurungan untuk nama harta karakter dinamik atau khas; 3. Gunakan objek.assign () untuk mengemas kini pelbagai sifat atau menggabungkan objek, dengan menyatakan ia bermutasi asal kecuali objek kosong digunakan sebagai hujah pertama; 4. Gunakan pengendali penyebaran untuk membuat objek baru dengan nilai yang dikemas kini tanpa bermutasi asal; 5. Kemas kini sifat bersarang dengan mengaksesnya secara langsung melalui notasi DOT atau kurungan, memastikan objek bersarang wujud untuk mencegah kesilapan; Dalam JavaScript, sintaks yang sama menambah harta jika ia tidak wujud atau mengemas kini jika ia berlaku, jadi kaedah yang dipilih bergantung kepada keperluan mutasi, kunci dinamik, dan kerumitan struktur, dengan notasi titik dan kurungan cukup untuk kes yang paling mudah.
Mengemas kini sifat objek dalam JavaScript adalah tugas yang sama dan boleh dilakukan dengan beberapa cara yang mudah. Berikut adalah cara anda boleh melakukannya bergantung pada kes penggunaan anda.

1. Notasi titik (untuk nama harta yang diketahui)
Jika anda mengetahui nama harta yang anda ingin kemas kini, gunakan notasi DOT:
const user = { Nama: "John", Umur: 25 }; user.age = 30; // Kemas kini harta yang ada user.name = "Jane"; console.log (pengguna); // {name: "Jane", umur: 30}
Ini adalah kaedah yang paling mudah dibaca dan biasa digunakan apabila nama harta adalah statik.

2. Notasi kurungan (untuk nama harta dinamik)
Gunakan notasi kurungan apabila nama harta disimpan dalam pembolehubah atau mengandungi watak khas:
const user = { Nama: "John", Umur: 25 }; const propertyName = "umur"; pengguna [propertyName] = 35; // atau kemas kini dengan kunci dinamik pengguna ["lokasi"] = "New York"; // Menambah harta baru console.log (pengguna); // {name: "John", umur: 35, lokasi: "New York"}
Ini berguna apabila bekerja dengan input pengguna, respons API, atau gelung melalui kunci.

3. Menggunakan Object.assign()
(untuk pelbagai kemas kini atau objek penggabungan)
Anda boleh menggunakan Object.assign()
untuk mengemas kini pelbagai sifat sekaligus atau menggabungkan objek:
const user = { Nama: "John", Umur: 25, Aktif: Benar }; Object.assign (pengguna, {umur: 30, nama: "Jane", lokasi: "Boston"}); console.log (pengguna); // {name: "Jane", Umur: 30, Aktif: Benar, Lokasi: "Boston"}
Nota: Object.assign()
mengubah objek asal melainkan anda lulus objek kosong sebagai hujah pertama untuk membuat salinan.
4. Menggunakan pengendali penyebaran (kemas kini bukan mutasi)
Jika anda ingin mengelakkan mutasi objek asal, gunakan pengendali penyebaran untuk membuat objek baru:
const user = { Nama: "John", Umur: 25 }; const updateSer = {... user, usia: 30, name: "jane"}; Console.log (dikemas kini); // {name: "Jane", umur: 30} console.log (pengguna); // asal tidak berubah: {name: "John", umur: 25}
Ini amat berguna dalam pengaturcaraan berfungsi atau aplikasi React di mana kebolehubahan lebih disukai.
5. Mengemas kini sifat bersarang
Untuk objek bersarang, akses harta dalam dan kemas kini secara langsung:
const user = { Nama: "John", Alamat: { Bandar: "Miami", Zip: "33101" } }; user.address.city = "Orlando"; // atau secara dinamik: pengguna ["alamat"] ["zip"] = "32801"; console.log (pengguna); // bandar dan zip dikemas kini di dalam alamat
Berhati -hati: Sentiasa periksa bahawa objek bersarang wujud sebelum mengemaskini untuk mengelakkan kesilapan.
Nota mengenai menambah vs mengemas kini
Dalam JavaScript, tidak ada perbezaan yang ketat antara menambah harta baru dan mengemas kini satu - jika harta itu wujud, ia dikemas kini; Jika tidak, ia ditambah. Jadi semua kaedah di atas berfungsi untuk kedua -dua kes.
Pada asasnya, pilih kaedah berdasarkan sama ada anda perlu bermutasi asal, sama ada kunci dinamik, dan sama ada anda berurusan dengan sifat bersarang atau berbilang. Kebanyakan masa, DOT atau notasi kurungan adalah semua yang anda perlukan untuk kemas kini mudah.
Atas ialah kandungan terperinci Cara mengemas kini sifat objek dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila kami membangunkan menggunakan PHP, kadangkala kami menemui mesej ralat "Tryingtogetproperty's solution of non-object". Sebab ralat ini secara amnya ialah program mengakses objek yang tidak wujud atau tidak instantiated, menyebabkan parser PHP tidak dapat mengenali sifat atau kaedah objek tersebut. Jadi, bagaimana untuk membetulkan ralat ini? Di bawah ini saya akan memperkenalkan anda kepada beberapa penyelesaian yang mungkin. 1. Semak kod Pertama, kita perlu menukar kod ralat

Ya, terdapat banyak cara untuk melintasi sifat objek dalam JavaScript. 1. Gunakan untuk ... dalam gelung untuk melintasi semua sifat rentetan yang boleh dibaca objek, tetapi disyorkan untuk mengecualikan sifat yang diwarisi dengan HasownProperty (); 2. Gunakan object.keys () digabungkan dengan foreach () untuk memproses nama -nama utama lebih mudah dalam array; 3. Gunakan objek.entries () untuk mendapatkan array pasangan nilai utama untuk dekonstruksi dan operasi yang mudah; Di samping itu, anda boleh menambah logik ke gelung untuk melaksanakan penapisan harta dan fungsi lain.

USEDOTNOTATIONTOUPDATEPROPERIESSWITHITEDNAMES; 2.USEBEBRACKETNOTATIONFORDYNAMICORSPECIALCHARACTERPROPROPERYNAMES; 3.USEOBJECT.Assign () ToupdatemultiplePropertiesREbjects, NotingItmutatestheSheoriginessanEbjectiseStabjectiseStabjectSugoStaSteStrjectiseStabjectiseStabjectiseStabjectiseStern

Dalam JavaScript, anda boleh menggunakan Kaedah Operator, HasownProperty atau Object.Keys () untuk dipadankan termasuk (). 1. Gunakan pengendali dalam untuk memeriksa kunci pada objek itu sendiri dan rantaian prototaip, yang sesuai untuk situasi di mana sumber utama tidak pasti; 2. Gunakan kaedah HasownProperty () (atau objek yang lebih selamat.Prototype.HasownProperty.call (OBJ, Key)) untuk hanya memeriksa sifat -sifat objek itu sendiri untuk mengelakkan gangguan dari rantaian prototaip; 3. Gunakan Object.Keys (OBJ). Termasuk (kunci) untuk menilai dengan bantuan kaedah array.

UseFor ... InterateOverallenumeringerproperties, termasukInderiterites, danCombineWithHasownProperty () tofilterOnlyownProperties.2.useObject.Keys () togetanArrayOfOnmenumernernerPropertynamesfunctional-styleiteration.3.useObject.Values () ketika)

UsetheinoperatortoCheckforbothownandinheritedProperties; 2.useObject.Hasown () tosafelycheckforownpropertieswithoutprototypeinterence; 3.UseHasehasownProperty () forownPropertiesInolderEnvonsonments;

Usetheinoperatortocheckforbothownandinheritedproperties.2.usehasownproperty () tocheckonlyownproperties, butbecaiouswithprototype--lessobjects.3.AvoidCheckingAgainStundeFinedAsitisnreliaWhenpropersprophiterlitys.

Untuk melintasi sifat -sifat objek JavaScript, anda harus memilih kaedah yang sesuai mengikut jenis atribut yang diperlukan: jika anda perlu memasukkan sifat -sifat yang diwarisi, gunakan untuk ... dalam gelung dan mempunyai hasownProperty () untuk menapis sifat anda sendiri; Jika anda hanya memerlukan nama kunci harta tanah anda sendiri, gunakan object.keys () digabungkan dengan foreach () atau untuk ... dari; Jika anda hanya mengambil berat tentang nilai harta, gunakan objek.values (); Jika anda memerlukan pasangan nilai utama, gunakan object.entries () untuk dekonstruksi dan traversal; Jika anda perlu memasukkan sifat anda sendiri yang tidak dapat disenaraikan, gunakan objek.getownPropertyNames (); Sekiranya anda melibatkan kunci simbol,
