Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Membandingkan Objek untuk Kesaksamaan dengan Berkesan dalam JavaScript?

Bagaimanakah Saya Boleh Membandingkan Objek untuk Kesaksamaan dengan Berkesan dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 04:59:13710semak imbas

How Can I Effectively Compare Objects for Equality in JavaScript?

Cara Membandingkan Objek untuk Kesamaan dalam JavaScript

Menentukan kesamaan objek dalam JavaScript boleh menjadi rumit kerana ketiadaan fungsi kod cincang khusus seperti Jawa. Walau bagaimanapun, terdapat kaedah untuk mencapai perbandingan ini.

lodash.isEqual()

Untuk menyemak kesamaan dalam objek, pertimbangkan untuk menggunakan fungsi _.isEqual() Lodash . Ia menyemak pasangan nilai kunci bagi kedua-dua objek secara rekursif, memastikan kandungan yang sama.

_.isEqual(object1, object2);

Pendekatan Brute-Force

Pendekatan lain melibatkan penyemakan setiap nilai kunci secara manual pasangan:

const keys1 = Object.keys(object1);
const keys2 = Object.keys(object2);

if (keys1.length !== keys2.length) {
  return false;
}

for (let key of keys1) {
  if (object1[key] !== object2[key]) {
    return false;
  }
}

return true;

Pengesyoran

Lodash disyorkan untuk kemudahan dan prestasi yang dioptimumkan. Untuk senario yang lebih kompleks, anda boleh melaksanakan penyelesaian anda sendiri berdasarkan keperluan khusus. Walau bagaimanapun, perlu diingat bahawa pengendali kesamaan ketat JavaScript (===) hanya menyemak kesamaan jenis objek, bukan kesamaan kandungan objek.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Objek untuk Kesaksamaan dengan Berkesan dalam JavaScript?. 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