JavaScript program két tömb metszéspontjának végrehajtására

Ebben a példában megtanul olyan JavaScript programot írni, amely két tömb metszéspontját fogja végrehajtani.

A példa megértéséhez ismernie kell a következő JavaScript programozási témákat:

  • Javascript tömb szűrő ()
  • JavaScript tömb leküldés ()
  • JavaScript készlet és WeakSet

1. példa: Végezze el a kereszteződést a Set használatával

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

Kimenet

 (1, 3, 5)

A fenti programban metszéspontot hajtanak végre array1és között array2.

  • A tömb elemeket Seta new Set()konstruktor segítségével alakítják át elemekké .
  • A for… ofhurok a második Setelemek iterációjára szolgál .
  • A has()módszer segítségével ellenőrizhető, hogy az elem szerepel-e az elsőben Set.
  • Ha az elem jelen van az elsőben Set, akkor az elemet a push()módszer segítségével hozzáadják az intersectionResult tömbhöz .

2. példa: Végezze el a kereszteződést a filter () módszerrel

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

Kimenet

 (1, 3, 5)

A fenti programban két tömb közötti metszést hajtanak végre a filter()módszer segítségével. A szűrési módszer egy tömbön keresztül iterál, és visszaadja azokat a tömb elemeket, amelyek megfelelnek az adott feltételnek.

  • Az első tömb minden elemét a indexOf()módszerrel hasonlítjuk össze a második tömbvel .
  • A arr2.indexOf(x)módszer megkeresi az arr2-t, és visszaadja az arr1 első előfordulásának helyzetét. Ha az érték nem található, akkor -1-et ad vissza .
  • A két tömbben található összes elemet a filter()módszer adja vissza .

Megjegyzés: Használhatja a includes()módszert annak ellenőrzésére is, hogy a tömbelemek mindkét tömbben vannak-e.

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

érdekes cikkek...