JavaScript program za izvođenje presijecanja dvaju nizova

U ovom ćete primjeru naučiti pisati JavaScript program koji će izvršiti presijecanje dvaju nizova.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja JavaScript:

  • Javascript filtar niza ()
  • JavaScript niz niza push ()
  • JavaScript i WeakSet postavljeni

Primjer 1: Izvršite presijecanje pomoću seta

 // 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);

Izlaz

 (1, 3, 5)

U gornjem programu izvedeno je presijecanje između array1i array2.

  • Elementi niza pretvaraju se u Setelemente pomoću new Set()konstruktora.
  • for… ofPetlja se koristi za iteraciju tijekom drugog Setelementa.
  • has()Metoda se koristi za provjeru je li element u prvi Set.
  • Ako je element prisutan u prvom Set, taj se element dodaje push()metodi intersectionResult pomoću metode.

Primjer 2: Izvršite presijecanje pomoću 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);

Izlaz

 (1, 3, 5)

U gornjem programu se filter()metodom vrši presijecanje dvaju nizova . Metoda filtriranja ponavlja se preko niza i vraća elemente niza koji prolaze zadani uvjet.

  • indexOf()Metodom se uspoređuje svaki element prvog polja s drugim nizom .
  • U arr2.indexOf(x)pretraga metoda arr2 i vraća na poziciju prvog pojavljivanja arr1. Ako vrijednost nije moguće pronaći, vraća -1 .
  • filter()Metoda vraća sve elemente koji se nalaze u oba polja .

Napomena:includes() Metodom biste također mogli provjeriti nalaze li se elementi niza u oba polja.

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

Zanimljivi članci...