Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencari Perbezaan Antara Dua Tatasusunan JavaScript Objek?

Bagaimana untuk Mencari Perbezaan Antara Dua Tatasusunan JavaScript Objek?

Susan Sarandon
Susan Sarandonasal
2024-12-18 01:12:09455semak imbas

How to Find the Difference Between Two JavaScript Arrays of Objects?

Menentukan Perbezaan Antara Tatasusunan Objek dalam JavaScript

Konsep membezakan dua tatasusunan objek sering timbul apabila membandingkan set data. Artikel ini meneroka kaedah untuk mengekstrak elemen berbeza antara dua tatasusunan, memastikan pengekalan sifat objek tertentu.

Pertimbangkan tatasusunan input berikut:

Result 1:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" },
    { value: "4", display: "Ryan" }
]

Result 2:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" }
]

Hasil yang diinginkan ialah perbezaan antara tatasusunan ini , yang akan menghasilkan tatasusunan yang mengandungi hanya elemen unik daripada Keputusan 1:

[
    { value: "4", display: "Ryan" }
]

JavaScript menawarkan kaedah asli yang boleh menyelesaikan tugas ini dengan elegan. Dengan mentakrifkan fungsi perbandingan yang menilai kesamaan objek berdasarkan sifatnya, anda boleh memanfaatkan fungsi onlyInLeft() untuk mengenal pasti elemen yang wujud semata-mata dalam tatasusunan kiri (asal). Proses yang sama ini boleh digunakan pada tatasusunan kanan (baharu).

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;

const onlyInA = onlyInLeft(result1, result2, isSameUser);
const onlyInB = onlyInLeft(result2, result1, isSameUser);

const result = [...onlyInA, ...onlyInB];

Pembolehubah hasil seterusnya akan mengandungi tatasusunan dengan perbezaan antara dua tatasusunan input. Pendekatan ini menyediakan penyelesaian yang fleksibel untuk membandingkan tatasusunan objek sambil mengekalkan sifat khusus untuk perbandingan.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Perbezaan Antara Dua Tatasusunan JavaScript Objek?. 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