Program JavaScript na vykonávanie križovatky medzi dvoma poľami

V tomto príklade sa naučíte písať program JavaScriptu, ktorý vykoná prienik medzi dvoma poľami.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:

  • Filter poľa Javascript ()
  • Zatlačenie poľa JavaScriptu ()
  • Sada JavaScript a WeakSet

Príklad 1: Vykonajte križovatku pomocou množiny

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

Výkon

 (1, 3, 5)

Vo vyššie uvedenom programe sa križovatka vykonáva medzi array1a array2.

  • Prvky poľa sa prevedú na Setprvky pomocou new Set()konštruktora.
  • for… ofSlučka sa používa na iterácii cez druhý Setprvkov.
  • has()Metóda sa používa pre overenie, či je prvok v prvom Set.
  • Ak je prvok prítomný v prvom Set, tento prvok sa pomocou push()metódy pridá do poľa intersectionResult .

Príklad 2: Vykonajte križovatku pomocou metódy 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);

Výkon

 (1, 3, 5)

Vo vyššie uvedenom programe sa križovatka uskutočňuje medzi dvoma poľami pomocou tejto filter()metódy. Metóda filtra iteruje nad poľom a vracia prvky poľa, ktoré vyhovujú danej podmienke.

  • Každý prvok prvého poľa sa porovnáva s druhým poľom pomocou indexOf()metódy.
  • Tieto arr2.indexOf(x)metódy vyhľadávania Arr2 a vráti pozíciu prvého výskytu Arr1. Ak hodnotu nemožno nájsť, vráti hodnotu -1 .
  • filter()Metóda vráti všetky prvky, ktoré sú v obidvoch poliach .

Poznámka: Môžete tiež použiť túto includes()metódu na kontrolu, či sú prvky poľa v oboch poliach.

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

Zaujímavé články...