Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencari Persimpangan Dua Tatasusunan dalam JavaScript Tanpa Menggunakan Perpustakaan?

Bagaimana untuk Mencari Persimpangan Dua Tatasusunan dalam JavaScript Tanpa Menggunakan Perpustakaan?

Patricia Arquette
Patricia Arquetteasal
2025-01-02 15:11:40588semak imbas

How to Find the Intersection of Two Arrays in JavaScript Without Using Libraries?

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!

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