He buscado aquí un método de calidad para comparar matrices asociativas en JavaScript. La única solución decente que he encontrado es el proyecto PHP.JS que tiene algunas funciones de matriz comparativa. El único problema es que estas funciones consideran la primera matriz como la clave de la segunda. En mi situación, al menos, ambas matrices no siempre tienen el mismo número de claves ni las mismas claves. Esto hace que las funciones muestren resultados que no incluyen claves que pueden no haber existido en array1 pero que existían en array2. Lo único que se me ocurre hasta ahora es ejecutar la función array_diff_associative() dos veces con los argumentos invertidos y luego combinarlos (lo que parece problemático ya que el primer argumento se usa nuevamente como las teclas del segundo).Comparar dos matrices Javascript - Asociativo
¿Alguna sugerencia? Gracias.
preguntándome, ¿no sería su primera comparación en comparaciónArrays asociativos si (a === b)? –
err sí probablemente :-) –
Su solución tiene dos inconvenientes: (1) incorrectamente devolvería verdadero en el caso cuando a y b tienen los mismos tamaños, y a tiene una clave que apunta a un valor indefinido, mientras que b doesn ' t tiene esa clave. (2) incorrectamente devolvería falso en el caso en que existan dos valores dentro de a y b, que tengan los mismos valores, pero que en realidad sean objetos y que no sean iguales con un operador '=='. Si bien es fácil de arreglar (1), requeriría más esfuerzo repararlo (2). Como solución alternativa, usaría simplemente un método ** toString() **, o incluso más rápido, ** join ('') ** para comparar dos cadenas. – CuongHuyTo