Jadual Kandungan
Elemen Memadankan Merentas Berbilang Tatasusunan JavaScript
Masalah
Penyelesaian
Pertimbangan Tambahan
Rumah hujung hadapan web tutorial js Bagaimana untuk Mencari Elemen Padanan Merentasi Pelbagai Tatasusunan JavaScript?

Bagaimana untuk Mencari Elemen Padanan Merentasi Pelbagai Tatasusunan JavaScript?

Oct 24, 2024 pm 06:45 PM

How to Find Matching Elements Across Multiple JavaScript Arrays?

Elemen Memadankan Merentas Berbilang Tatasusunan JavaScript

Masalah

Memandangkan pelbagai tatasusunan JavaScript nilai rentetan, cari elemen yang berlaku sama dalam semua tatasusunan. Contohnya:

<code class="javascript">var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza'];
var arr2 = ['taco', 'fish', 'apple', 'pizza'];
var arr3 = ['banana', 'pizza', 'fish', 'apple'];</code>
Salin selepas log masuk

Output yang dijangkakan:

<code class="javascript">['apple', 'fish', 'pizza']</code>
Salin selepas log masuk

Penyelesaian

Untuk mencari elemen padanan, kita boleh menggunakan gabungan kaedah Tatasusunan:

<code class="javascript">const arrays = [arr1, arr2, arr3];
const result = arrays.shift().filter((v) =&gt; {
  return arrays.every((a) =&gt; {
    return a.indexOf(v) !== -1;
  });
});</code>
Salin selepas log masuk

Langkah:

  1. Gunakan arrays.shift() untuk mengalih keluar tatasusunan pertama daripada senarai asal.
  2. Gunakan .filter() pada tatasusunan pertama untuk menggelung melalui setiap elemen v.
  3. Gunakan .every() pada tatasusunan yang lain untuk menyemak sama ada setiap satu mengandungi elemen semasa v.
  4. Jika elemen v hadir dalam setiap tatasusunan, masukkannya dalam tatasusunan hasil.

Dengan menggunakan logik ini secara berulang pada setiap tatasusunan, kita boleh mencari unsur-unsur yang berlaku secara serupa dalam semua tatasusunan yang disediakan.

Pertimbangan Tambahan

Pengendalian Elemen Pendua:

Penyelesaian yang disediakan mengandaikan bahawa tatasusunan tidak mengandungi unsur pendua. Jika mereka berbuat demikian, anda boleh mengubah suai kod seperti berikut:

<code class="javascript">const result = arrays.shift().reduce((res, v) =&gt; {
  if (res.indexOf(v) === -1 &amp;amp;&amp;amp; arrays.every((a) =&gt; {
    return a.indexOf(v) !== -1;
  })) res.push(v);
  return res;
}, []);</code>
Salin selepas log masuk

Kod ini menggunakan .reduce() dan bukannya .filter(). Ia menyemak pendua dalam tatasusunan hasil dan hanya menambah elemen unik yang terdapat dalam setiap tatasusunan.

Bilangan Arbitrari Tatasusunan:

Penyelesaian direka bentuk untuk berfungsi dengan bilangan tatasusunan yang tidak diketahui. Dengan menggunakan arrays.shift(), kita boleh membandingkan tatasusunan pertama secara berurutan dengan tatasusunan yang tinggal sehingga semua tatasusunan telah diproses.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen Padanan Merentasi Pelbagai Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles