Program JavaScript Untuk Melakukan Persimpangan Antara Dua Susunan

Dalam contoh ini, anda akan belajar menulis program JavaScript yang akan melakukan persimpangan antara dua tatasusunan.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan JavaScript berikut:

  • Penapis Array Javascript ()
  • Tekan Array JavaScript ()
  • Set JavaScript dan WeakSet

Contoh 1: Lakukan Persilangan Menggunakan Set

 // program to perform intersection between two arrays using Set // intersection contains the elements of array1 that are also in array2 function performIntersection(arr1, arr2) ( // converting into Set const setA = new Set(arr1); const setB = new Set(arr2); let intersectionResult = (); for (let i of setB) ( if (setA.has(i)) ( intersectionResult.push(i); ) ) return intersectionResult; ) const array1 = (1, 2, 3, 5, 9); const array2 = (1, 3, 5, 8); const result = performIntersection(array1, array2); console.log(result);

Pengeluaran

 (1, 3, 5)

Dalam program di atas, persimpangan dilakukan antara array1dan array2.

  • Unsur array ditukar menjadi Setelemen menggunakan new Set()konstruktor.
  • The for… ofgelung digunakan untuk melelar atas kedua Setunsur-unsur.
  • The has()kaedah yang digunakan untuk memeriksa jika elemen itu dalam pertama Set.
  • Sekiranya elemen ada pada elemen pertama Set, elemen tersebut akan ditambahkan ke array intersectionResult menggunakan push()kaedah.

Contoh 2: Lakukan Persilangan Menggunakan Kaedah penapis ()

 // program to perform intersection between two arrays function performIntersection(arr1, arr2) ( const intersectionResult = arr1.filter(x => arr2.indexOf(x) !== -1); return intersectionResult; ) const array1 = (1, 2, 3, 5, 9); const array2 = (1, 3, 5, 8); const result = performIntersection(array1, array2); console.log(result);

Pengeluaran

 (1, 3, 5)

Dalam program di atas, persimpangan dilakukan antara dua tatasusunan menggunakan filter()kaedah. Kaedah penapis berulang melalui array dan mengembalikan elemen array yang melepasi keadaan yang diberikan.

  • Setiap elemen array pertama dibandingkan dengan array kedua menggunakan indexOf()kaedah.
  • Yang arr2.indexOf(x)kaedah carian arr2 dan pulangan kedudukan kejadian pertama arr1. Sekiranya nilainya tidak dapat dijumpai, ia mengembalikan -1 .
  • Semua elemen yang terdapat dalam kedua susunan dikembalikan dengan filter()kaedah.

Catatan: Anda juga dapat menggunakan includes()kaedah untuk memeriksa apakah elemen array ada di kedua array.

 const intersectionResult = arr1.filter(x => arr2.includes(x))

Artikel menarik...