Mencari Perbezaan Antara Dua Tatasusunan Objek dalam JavaScript
Dalam JavaScript, anda mungkin menghadapi keperluan untuk menentukan perbezaan antara dua tatasusunan objek . Sebagai contoh, anda mungkin mempunyai dua set hasil yang anda ingin bandingkan dan mengenal pasti objek yang hanya wujud dalam satu tetapi bukan yang lain.
Untuk mencapai ini, anda boleh memanfaatkan gabungan fungsi JS asli dan tersuai fungsi perbandingan. Begini cara anda boleh melakukannya:
Tentukan Fungsi Perbandingan:
const isSameUser = (a, b) => a.value === b.value && a.display === b.display;
Fungsi ini akan menentukan sama ada dua objek adalah sama berdasarkan 'nilai' dan 'paparan' mereka sifat.
Gunakan Fungsi 'onlyInLeft':
const onlyInLeft = (left, right, compareFunction) => left.filter(leftValue => !right.some(rightValue => compareFunction(leftValue, rightValue)));
Fungsi ini mengambil tiga argumen: kiri tatasusunan, tatasusunan yang betul, dan fungsi perbandingan. Ia menapis keluar elemen daripada tatasusunan kiri yang tidak mempunyai elemen sepadan dalam tatasusunan kanan berdasarkan fungsi perbandingan yang ditentukan.
Gunakan Fungsi 'onlyInLeft' untuk Mencari Perbezaan :
const onlyInA = onlyInLeft(a, b, isSameUser); const onlyInB = onlyInLeft(b, a, isSameUser);
Kod ini menggunakan fungsi 'onlyInLeft' kepada dua tatasusunan, menggunakan fungsi perbandingan untuk menentukan perbezaan.
Buat Keputusan Akhir:
const result = [...onlyInA, ...onlyInB];
Akhir sekali, tatasusunan 'hasil' mengandungi objek yang terdapat dalam satu tatasusunan tetapi tidak dalam tatasusunan yang lain.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Perbezaan Antara Dua Tatasusunan Objek JavaScript dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!