JavaScript-program til udførelse af skæringspunkt mellem to arrays

I dette eksempel lærer du at skrive et JavaScript-program, der udfører et skæringspunkt mellem to arrays.

For at forstå dette eksempel skal du have kendskab til følgende JavaScript-programmeringsemner:

  • Javascript Array filter ()
  • JavaScript Array push ()
  • JavaScript-sæt og svag sæt

Eksempel 1: Udfør skæringspunkt ved hjælp af 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);

Produktion

 (1, 3, 5)

I ovenstående program udføres et kryds mellem array1og array2.

  • Matrixelementerne konverteres til Setelementer ved hjælp af new Set()konstruktøren.
  • Den for… ofløkke anvendes til at gentage over de andre Setelementer.
  • Den has()metode benyttes til at kontrollere, om elementet er i den første Set.
  • Hvis elementet er til stede i det første Set, tilføjes dette element til arrayet intersectionResult ved hjælp af push()metoden.

Eksempel 2: Udfør skæringspunkt ved hjælp af filter () -metoden

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

Produktion

 (1, 3, 5)

I ovenstående program udføres et kryds mellem to arrays ved hjælp af filter()metoden. Filtermetoden gentages over en matrix og returnerer de matrixelementer, der passerer den givne betingelse.

  • Hvert element i det første array sammenlignes med det andet array ved hjælp af indexOf()metoden.
  • De arr2.indexOf(x)metode søgninger arr2 og afkast positionen af den første forekomst af arr1. Hvis værdien ikke kan findes, returnerer den -1 .
  • Alle elementerne i begge arrays returneres efter filter()metoden.

Bemærk: Du kan også bruge includes()metoden til at kontrollere, om arrayelementerne er i begge arrays.

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

Interessante artikler...