Mencari Persimpangan Tatasusunan Tanpa Perpustakaan
Mencari penyelesaian yang dipermudahkan untuk mengira persilangan tatasusunan dalam JavaScript? Artikel ini meneroka coretan kod yang menyampaikan fungsi ini tanpa bergantung pada pustaka luaran.
Soalan:
Bagaimanakah kita boleh menulis kod yang mengambil dua tatasusunan sebagai input dan mengembalikan elemen yang terdapat dalam kedua-duanya tatasusunan?
Jawapan:
Memanfaatkan kuasa kaedah penapis, kita boleh mencipta penyelesaian ringkas untuk masalah ini:
const filteredArray = array1.filter(value => array2.includes(value));
Ini kod menapis tatasusunan pertama, hanya mengembalikan unsur-unsur yang juga terdapat dalam yang kedua tatasusunan.
Pelaksanaan:
Kaedah penapis berulang ke atas setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang melepasi syarat yang disediakan. Dalam kes kami, syarat menyemak sama ada elemen semasa disertakan dalam tatasusunan kedua menggunakan kaedah termasuk.
Nota Tambahan:
Untuk penyemak imbas lama yang tidak menyokong anak panah berfungsi atau termasuk:
var filteredArray = array1.filter(function(n) { return array2.indexOf(n) !== -1; });
Ingat, kedua-duanya termasuk dan indexOf menggunakan kesaksamaan yang ketat untuk perbandingan. Jika tatasusunan anda mengandungi objek, kod tersebut akan membandingkan rujukan objek dan bukannya kandungannya. Pertimbangkan untuk menggunakan Array.prototype.some untuk logik perbandingan tersuai.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Persimpangan Dua Tatasusunan dalam JavaScript Tanpa Menggunakan Perpustakaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!