JavaScripti programm kahe massiivi ristumiskoha sooritamiseks

Selles näites õpid kirjutama JavaScripti programmi, mis täidab kahe massiivi vahelist ristmikku.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest JavaScripti programmeerimise teemadest:

  • Javascripti massiivi filter ()
  • JavaScripti massiivi tõuge ()
  • JavaScripti komplekt ja WeakSet

Näide 1: ristmiku sooritamine komplekti abil

 // 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äljund

 (1, 3, 5)

Ülaltoodud programmis tehakse ristmik array1ja vahel array2.

  • Massiivelemendid muudetakse konstruktori Setabil elementideks new Set().
  • for… ofLoop kasutatakse itereerime üle teise Setelemente.
  • has()Meetodit kasutatakse, et kontrollida, kui element on esimene Set.
  • Kui element on esimeses Set, lisatakse see push()meetod meetodi abil intersectionResult massiivi .

Näide 2: Tehke ristmik filtri () meetodi abil

 // 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äljund

 (1, 3, 5)

Ülaltoodud programmis tehakse filter()meetodi abil ristmik kahe massiivi vahel . Filtrimeetod kordab massiivi ja tagastab massiivi elemendid, mis läbivad antud tingimuse.

  • Esimese massiivi kõiki elemente võrreldakse indexOf()meetodi abil teise massiiviga .
  • arr2.indexOf(x)Meetod otsingud arr2 ja naaseb positsiooni esimese esinemise arr1. Kui väärtust ei õnnestu leida, tagastab see väärtuse -1 .
  • Kõik elemendid, mis on mõlemas massiivi, tagastatakse filter()meetodi abil.

Märkus. Selle includes()meetodi abil saate kontrollida ka seda, kas massiivi elemendid on mõlemas massiivis.

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

Huvitavad Artiklid...