Programa JavaScript para realizar la intersección entre dos matrices

En este ejemplo, aprenderá a escribir un programa JavaScript que realizará una intersección entre dos matrices.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de JavaScript:

  • Filtro de matriz de JavaScript ()
  • Empuje de matriz de JavaScript ()
  • Conjunto de JavaScript y conjunto débil

Ejemplo 1: Realizar una intersección con 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);

Salida

 (1, 3, 5)

En el programa anterior, se realiza una intersección entre array1y array2.

  • Los elementos de la matriz se convierten en Setelementos utilizando el new Set()constructor.
  • El for… ofbucle se utiliza para iterar sobre los segundos Setelementos.
  • El has()método se usa para verificar si el elemento está en el primero Set.
  • Si el elemento está presente en el primero Set, ese elemento se agrega a la matriz intersectionResult usando el push()método.

Ejemplo 2: realizar una intersección con el método 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);

Salida

 (1, 3, 5)

En el programa anterior, se realiza una intersección entre dos matrices utilizando el filter()método. El método de filtro itera sobre una matriz y devuelve los elementos de la matriz que pasan la condición dada.

  • Cada elemento de la primera matriz se compara con la segunda matriz utilizando el indexOf()método.
  • El arr2.indexOf(x)método busca arr2 y devuelve la posición de la primera aparición de arr1. Si no se puede encontrar el valor, devuelve -1 .
  • Todos los elementos que están en ambas matrices son devueltos por el filter()método.

Nota: También puede usar el includes()método para verificar si los elementos de la matriz están en ambas matrices.

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

Articulos interesantes...