Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mencari Perbezaan Antara Dua Tatasusunan Objek JavaScript dengan Cekap?

Bagaimanakah Saya Boleh Mencari Perbezaan Antara Dua Tatasusunan Objek JavaScript dengan Cekap?

Linda Hamilton
Lepaskan: 2024-12-09 10:04:08
asal
897 orang telah melayarinya

How Can I Efficiently Find the Differences Between Two JavaScript Object Arrays?

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:

  1. Tentukan Fungsi Perbandingan:

    const isSameUser = (a, b) => a.value === b.value && a.display === b.display;
    Salin selepas log masuk

Fungsi ini akan menentukan sama ada dua objek adalah sama berdasarkan 'nilai' dan 'paparan' mereka sifat.

  1. Gunakan Fungsi 'onlyInLeft':

    const onlyInLeft = (left, right, compareFunction) => 
      left.filter(leftValue =>
     !right.some(rightValue => 
       compareFunction(leftValue, rightValue)));
    Salin selepas log masuk

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.

  1. Gunakan Fungsi 'onlyInLeft' untuk Mencari Perbezaan :

    const onlyInA = onlyInLeft(a, b, isSameUser);
    const onlyInB = onlyInLeft(b, a, isSameUser);
    Salin selepas log masuk

Kod ini menggunakan fungsi 'onlyInLeft' kepada dua tatasusunan, menggunakan fungsi perbandingan untuk menentukan perbezaan.

  1. Buat Keputusan Akhir:

    const result = [...onlyInA, ...onlyInB];
    Salin selepas log masuk

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan