Cómo comparar matrices en JavaScript - Aprender Marketing
Consejos

Cómo comparar matrices en JavaScript

En JavaScript, para comparar dos arreglos, debemos verificar que los dos arreglos tengan la misma longitud, que los objetos presentes en ellos sean del mismo tipo y que cada elemento de un arreglo sea igual al elemento correspondiente en un arreglo diferente.

En este artículo aclaramos «Cómo comparar matrices en JavaScript«.

Puede ser necesario comparar matrices para determinar la equivalencia. Las matrices de JavaScript son diferentes de las matrices de C o C ++.

En JavaScript, las matrices pueden tener índices numéricos o de texto. Indexar, atravesar y comparar matrices es fácil con la indexación numerada, pero complejo con la indexación de texto.

Veamos algunos enfoques posibles comparando arreglos En diferentes escenarios:

  • Las matrices tienen índices numerados y tienen la misma longitud.
  • Las matrices tienen un índice numerado y no tienen la misma longitud.
  • Las matrices tienen un índice de texto y tienen la misma longitud.
  • Las matrices tienen un índice de texto y no tienen la misma longitud.

Los arreglos tienen un índice numérico y son de igual longitud.

Por ejemplo, tenemos las siguientes dos matrices y queremos comparar estas matrices.

var Array1 = {"1", "2", "3"}

var Array2 = {"1", "2", "4"}

La matriz superior tiene una pequeña cantidad de elementos, tres (3). Es más fácil determinar la equivalencia de arreglos pequeños.

Pero para matrices más largas, tenemos que encontrar alguna forma de encontrarlo. JavaScript viene con una longitud incorporada Un método que se puede usar con arreglos y objetos para encontrar su longitud.

Esta longitud se puede comparar con la ayuda de una construcción condicional, preferiblemente Si declaración. Será así:

if(Array1.length == Array2.length){

    // do something;

}

La comparación de longitudes es necesaria porque estamos tratando con arreglos del mismo tamaño. Si las matrices tienen la misma longitud, puede verificar fácilmente los elementos que se cruzan de las matrices usando un bucle, preferiblemente un forAnillo.

Será así:

for....

{

    document.write("Array 1 element " + Array1[i] + "is equal to
"+ "Array 2 element " + Array2[i]);

}

Esto solo mostrará algunas expresiones de texto que comparan elementos que se cruzan. Esto se puede cambiar para mostrar algún texto como «Las matrices son iguales» para simplificar.

puede haber un otros La parte que puede manejar el caso cuando las matrices no son iguales.

Las matrices tienen índices numerados y no tienen la misma longitud.

Como se mencionó en la otra parte del escenario anterior, las longitudes de las matrices pueden no ser iguales. En este caso, la matriz 1 puede ser igual a la matriz 2 o la matriz 2 puede no ser igual.

Por ejemplo, la matriz 1 tiene los tres elementos que usamos anteriormente, pero la matriz 2 tiene 4 elementos. El arreglo 2 tiene todos los elementos del arreglo 1, pero no el arreglo 1.

En este caso podemos comparar cada elemento del arreglo con cada elemento del otro arreglo o viceversa.

Pero en este caso solo una matriz puede ser igual o no igual a la otra, pero ambas no pueden ser iguales porque tienen diferentes longitudes. Para comparar arreglos de esta manera, podemos usar bucles for anidados, que pueden tener este aspecto:

for...

    for...

{

    {

    	if(Array[i] == Array[j])

    	{
   		 //do something

   		         }

    }

}

tenemos que usar si Declaraciones en bucles anidados, porque estamos tratando con matrices de diferentes tamaños.

Las matrices tienen un índice de texto y tienen la misma longitud.

Las matrices de índice de texto no son una buena práctica. Esto complica aún más la tarea de comparar matrices de longitud con matrices de longitud desigual. Esto también cubre «las matrices tienen un índice de texto y no son iguales».

misma longitud, cada valor es el mismo

Una forma de comparar var1 y var2 es verificar que cada valor de var1 sea estrictamente igual al valor correspondiente de var2.

Este método funciona bien si todos los elementos de la matriz son primitivos y no objetos. Devuelve un valor booleano al final de la operación. Aquí hay un ejemplo:

const var1 = [1, 2, 3];

const var2 = [4, 5, 6];

const var3 = [1, 2, 3];



function arrayEquals(var1, var2) {

  return Array.isArray(var1) && Array.isArray(var2) &&
var1.length === var2.length && var1.every((val, index) => val
=== var2[index]);

}



arrayEquals(var1, var2);

arrayEquals(var1, var3);

El resultado debería verse así:
falso verdadero

Utilizando el método JSON.stringify().

JavaScript proporciona una función JSON.stringificar () Para convertir objetos o matrices en cadenas JSON. Al convertir una cadena a JSON, podemos comprobar directamente que las cadenas son iguales.

Sin embargo, esto JSON.stringificar () El método convierte una matriz en una cadena JSON. Echa un vistazo al siguiente programa para entender bien este concepto.

function compareArrays(arr1, arr2){

    // compare arrays

    const result = JSON.stringify(arr1) == JSON.stringify(arr2)

    
// if result is true

    if(result){

   	 console.log('The arrays have the same elements.');

    }

    else{

   	 console.log('The arrays have different elements.');

    }

}

const array1 = [1, 3, 5, 8];

const array2 = [1, 3, 5, 8];

compareArrays(array1, array2);

El programa anterior comparará las matrices dadas y dará una salida. las matrices tienen el mismo elemento bPorque ponemos el mismo valor en ambas matrices.

En esta entrada de blog nos Aprendió «Cómo comparar matrices de JavaScript» y exploró algunas de las formas disponibles, incluido un código de muestra simple.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba