Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencari Elemen Biasa dalam Pelbagai Tatasusunan JavaScript?
Mencari Padanan Antara Berbilang Tatasusunan JavaScript
Soalan:
Bagaimana anda boleh membandingkan berbilang JavaScript tatasusunan yang mengandungi nilai rentetan dan ekstrak hanya padanan yang sama merentas semua tatasusunan?
Jawapan:
Gunakan coretan kod berikut untuk padanan tepat:
<code class="js">var result = arrays.shift().filter(function(v) { return arrays.every(function(a) { return a.indexOf(v) !== -1; }); });</code>
Pelaksanaan ini merentasi setiap elemen dalam tatasusunan pertama, menyemak sama ada ia wujud dalam semua tatasusunan lain menggunakan indexOf dan menambahkannya secara bersyarat pada tatasusunan hasil. Ambil perhatian bahawa ia menganggap tiada pendua wujud dalam mana-mana tatasusunan input.
Jika anda perlu mengendalikan pendua dalam tatasusunan input, gunakan kod berikut:
<code class="js">var result = arrays.shift().reduce(function(res, v) { if (res.indexOf(v) === -1 && arrays.every(function(a) { return a.indexOf(v) !== -1; })) res.push(v); return res; }, []);</code>
Versi ini menggunakan pengurangan kaedah untuk mengumpul elemen padanan merentas tatasusunan. Pendua ditapis keluar dengan menyemak indexOf dalam tatasusunan hasil.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen Biasa dalam Pelbagai Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!