Rumah > hujung hadapan web > tutorial js > Cara Membandingkan Tatasusunan Objek dengan Elegan dalam JavaScript

Cara Membandingkan Tatasusunan Objek dengan Elegan dalam JavaScript

DDD
Lepaskan: 2024-10-20 18:07:31
asal
896 orang telah melayarinya

How to Elegantly Compare Arrays of Objects in JavaScript

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan