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, sebuah persimpangan dilakukan antara array1
dan array2
.
- Elemen array diubah menjadi
Set
elemen menggunakannew Set()
konstruktor. - Itu
for...of
loop digunakan untuk mengulangi yang keduaSet
elemen. - Itu
has()
metode ini digunakan untuk memeriksa apakah elemen ada di yang pertamaSet
. - Jika elemen ada di yang pertama
Set
, elemen itu ditambahkan ke hasil persimpangan array 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 mengulangi array dan mengembalikan elemen array yang melewati kondisi yang diberikan.
- Setiap elemen larik pertama dibandingkan dengan larik kedua menggunakan using
indexOf()
metode. - Itu
arr2.indexOf(x)
pencarian metode arr2 dan mengembalikan posisi kemunculan pertama dari arr1. Jika nilainya tidak dapat ditemukan, ia akan kembali -1. - Semua elemen yang ada di kedua array dikembalikan oleh
filter()
metode.
catatan: Anda juga bisa menggunakan includes()
metode untuk memeriksa apakah elemen array ada di kedua array.
const intersectionResult = arr1.filter(x => arr2.includes(x))