Membandingkan Tatasusunan Objek dalam JavaScript: Pendekatan Lebih Elegan
Walaupun kaedah kekerasan boleh berkesan dalam membandingkan tatasusunan objek, selalunya ada adalah penyelesaian yang lebih elegan. Dalam JavaScript, membandingkan tatasusunan objek memerlukan pertimbangan yang teliti kerana sifat dinamik sifat objek.
Walau bagaimanapun, terdapat teknik ringkas untuk menangani masalah ini:
<code class="js">const objectsEqual = (o1, o2) => Object.keys(o1).length === Object.keys(o2).length && Object.keys(o1).every(p => o1[p] === o2[p]);</code>
Fungsi ini, objectsEqual , membandingkan dua objek dengan terlebih dahulu menyemak bilangan sifat yang mereka miliki. Jika ia berbeza, objek tidak boleh dianggap sama.
Seterusnya, ia memeriksa setiap sifat objek pertama (p) dan mengesahkan bahawa nilainya sepadan dengan nilai sifat yang sepadan dalam objek kedua. Jika mana-mana nilai sifat berbeza, objek adalah tidak sama.
Contohnya:
<code class="js">const obj1 = { name: 'John', age: 33}; const obj2 = { age: 33, name: 'John' }; const obj3 = { name: 'John', age: 45 }; console.log(objectsEqual(obj1, obj2)); // true console.log(objectsEqual(obj1, obj3)); // false</code>
Penyelesaian ini membandingkan tatasusunan objek dengan cekap, dengan mengambil kira bilangan pembolehubah sifat dan memastikan nilai yang tepat padan.
Atas ialah kandungan terperinci Cara Membandingkan Tatasusunan Objek dengan Elegan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!