Dalam contoh ini, Anda akan belajar menulis program JavaScript yang akan melakukan perpotongan antara dua array.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman JavaScript berikut:
- Filter Array Javascript ()
- JavaScript Array push ()
- Set JavaScript dan WeakSet
Contoh 1: Lakukan Persimpangan 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);
Keluaran
(1, 3, 5)
Dalam program di atas, persimpangan dilakukan antara array1dan array2.
- Elemen array diubah menjadi
Setelemen menggunakannew Set()konstruktor. - The
for… ofLoop digunakan untuk iterate atas keduaSetelemen. - The
has()metode yang digunakan untuk memeriksa apakah elemen tersebut dalam pertamaSet. - Jika elemen ada di yang pertama
Set, elemen itu ditambahkan ke array intersectionResult menggunakanpush()metode.
Contoh 2: Lakukan Persimpangan Menggunakan Metode filter ()
// 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);
Keluaran
(1, 3, 5)
Dalam program di atas, persimpangan dilakukan antara dua array menggunakan filter()metode. Metode filter melakukan iterasi pada larik dan mengembalikan elemen larik yang melewati kondisi yang diberikan.
- Setiap elemen dari larik pertama dibandingkan dengan larik kedua menggunakan
indexOf()metode. - The
arr2.indexOf(x)Metode pencarian arr2 dan kembali posisi kejadian pertama dari arr1. Jika nilainya tidak dapat ditemukan, ia mengembalikan -1 . - Semua elemen yang ada di kedua larik dikembalikan oleh
filter()metode.
Catatan: Anda juga bisa menggunakan includes()metode ini untuk memeriksa apakah elemen array ada di kedua array.
const intersectionResult = arr1.filter(x => arr2.includes(x))








