Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Cari Perbezaan Antara Dua Tatasusunan dalam JavaScript?

Bagaimanakah Saya Boleh Cari Perbezaan Antara Dua Tatasusunan dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-12-20 02:39:16
asal
223 orang telah melayarinya

How Can I Find the Difference Between Two Arrays in JavaScript?

Menentukan Perbezaan antara Dua Tatasusunan dalam JavaScript

Pengenalan:

Menentukan perbezaan antara dua tatasusunan ialah tugas biasa dalam JavaScript. Perbezaan boleh ditakrifkan sebagai unsur-unsur yang terdapat dalam satu tatasusunan tetapi tidak dalam tatasusunan yang lain. Artikel ini menyediakan beberapa pendekatan untuk mencapai matlamat ini menggunakan kaedah terbina dalam JavaScript.

Persimpangan dan Perbezaan:

Satu pendekatan ialah menggunakan Array.prototype.includes() kaedah. Ia boleh digunakan untuk kedua-dua mencari persilangan (elemen biasa) dan perbezaan antara dua tatasusunan.

Persimpangan:

let intersection = arr1.filter(x => arr2.includes(x));
Salin selepas log masuk

Penapis ini menghasilkan tatasusunan yang mengandungi elemen yang biasa kepada kedua-dua arr1 dan arr2.

Perbezaan:

let difference = arr1.filter(x => !arr2.includes(x));
Salin selepas log masuk

Penapis ini mencipta tatasusunan dengan elemen yang terdapat hanya dalam arr1, bukan dalam arr2.

Perbezaan Simetri:

Selain itu, seseorang mungkin ingin menentukan "eksklusif atau" (perbezaan simetri) antara dua tatasusunan, yang terdiri daripada elemen unik daripada kedua-dua tatasusunan. Ini boleh diperolehi dengan menggabungkan perbezaan kedua-dua tatasusunan:

let symDifference = arr1.filter(x => !arr2.includes(x))
                        .concat(arr2.filter(x => !arr1.includes(x)));
Salin selepas log masuk

Peningkatan:

Untuk kebolehgunaan yang dipertingkatkan, adalah mungkin untuk menentukan kaedah tersuai untuk Tatasusunan. prototaip yang membenarkan penggunaan langsung pada tatasusunan:

Array.prototype.diff = function(arr2) { 
  return this.filter(x => !arr2.includes(x)); 
}
Salin selepas log masuk

Dengan peningkatan ini, seseorang boleh dengan mudah menentukan perbezaan:

[1, 2, 3].diff([2, 3]) // [1]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Perbezaan Antara Dua Tatasusunan dalam JavaScript?. 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