Esta publicación discutirá cómo comparar arrays en JavaScript. Se dice que dos arrays son iguales si tienen los mismos elementos en el mismo orden. La solución debería funcionar para arrays anidados de cualquier profundidad.

Por ejemplo, la array [1, 2, [3, [4, 5]]] es igual a la array [1, 2, [3, [4, 5]]] mientras que es diferente de la array [1, 2, [3, 4, 5]].

1. Uso de la biblioteca de guiones bajos/Lodash

Si ya está usando la biblioteca de guiones bajos o Lodash, considere usar el _.isEqual método para probar la igualdad de arrays. Realiza una comparación profunda entre valores especificados y también funciona para arrays anidadas.

Descargar Código

2. Usando JSON.stringify() función

Otra solución es convertir ambas arrays en una string JSON y comparar su representación de string entre sí para determinar la igualdad. Para convertir la arrays en una string JSON, puede usar el JSON.stringify() método. Esto se demuestra a continuación:

Descargar  Ejecutar código

 
La solución anterior podría no funcionar si su array contiene un nullish valor (es decir, null o undefined) u otro objeto pero funciona bien para otros valores primitivos como números y strings.

3. Función personalizada

Finalmente, puede escribir lógica personalizada para determinar si dos arrays son equivalentes. El siguiente ejemplo de código muestra cómo implementar esto.

Descargar  Ejecutar código

4. Uso String.prototype.toString() función

Para una array primitiva de números y cadenas, simplemente puede llamar a toString():

Descargar  Ejecutar código

 
Como alternativa, utilice el Array.prototype.every() para comparar cada elemento de la array con elementos de la otra array.

Descargar  Ejecutar código

Eso es todo acerca de comparar arrays en JavaScript.