Program JavaScript za presečišče med dvema nizoma

V tem primeru se boste naučili pisati program JavaScript, ki bo izvajal presečišče med dvema nizoma.

Če želite razumeti ta primer, morate poznati naslednje teme programiranja JavaScript:

  • Javascript matrični filter ()
  • JavaScript Array push ()
  • JavaScript in WeakSet

Primer 1: Izvedite križišče z uporabo nastavitve

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

Izhod

 (1, 3, 5)

V zgornjem programu se izvede križišče med array1in array2.

  • Elementi matrike se pretvorijo v Setelemente s pomočjo new Set()konstruktorja.
  • for… ofZanka se uporablja za ponovitev čez na drugo Setelemente.
  • has()Metoda se uporablja za preverjanje, ali je element v prvem Set.
  • Če je element prisoten v prvem Set, se ta element doda push()metodi intersectionResult z uporabo metode.

Primer 2: Izvedite križišče z uporabo 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);

Izhod

 (1, 3, 5)

V zgornjem programu se s pomočjo filter()metode izvede presečišče med dvema nizoma . Metoda filtra se ponovi nad matriko in vrne elemente matrike, ki prenesejo dano stanje.

  • Vsak element prve matrike se z indexOf()metodo primerja z drugo matriko .
  • Za arr2.indexOf(x)iskanje metoda arr2 in se vrne v položaj prvega pojava arr1. Če vrednosti ni mogoče najti, vrne -1 .
  • filter()Metoda vrne vse elemente v obeh nizih .

Opomba: Z includes()metodo lahko preverite tudi, ali so elementi matrike v obeh nizih.

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

Zanimive Članki...