Este artículo describe el método de JavaScript para comparar si dos objetos son iguales. Compártelo para su referencia. Los detalles son los siguientes:
En Python, puede usar la función incorporada cmp () para comparar si los datos contenidos en dos objetos son iguales (matrices, secuencias, diccionarios). Sin embargo, no hay una implementación relevante en el idioma JavaScript. Este código JS juzga si los dos objetos son iguales al comparar varios aspectos del objeto JS.
cmp = function (x, y) {// Si tanto x e y son nulos o indefinidos y exactamente lo mismo if (x === y) {return true; } // Si no son estrictamente iguales, ambos necesitan ser objetos si (! (X instancia de objeto) ||! (Y instancia de objeto)) {return false; } // Deben tener exactamente la misma cadena prototipo, lo más cercano que podemos hacer es // probar el constructor. if (x.constructor! == y.constructor) {return false; } para (var p en x) {// Las propiedades heredadas se probaron usando X.Constructor === Y.Constructor if (X.HasownProperty (P)) {// Permite comparar X [P] e Y [P] cuando se establece en if (! Y.hasownproperty (P)) {return False; } // Si tienen el mismo valor o identidad estricto, entonces son iguales if (x [p] === y [p]) {continuar; } // números, cadenas, funciones, booleanos deben ser estrictamente iguales if (typeof (x [p])! == "objeto") {return false; } // Los objetos y las matrices deben probarse recursivamente if (! Object.equals (x [p], y [p])) {return false; }}} para (p in y) {// permite que x [p] se establece en if (y.hasownproperty (p) &&! x.hasownproperty (p)) {return false; }} return verdadero; };usar:
obja = {a: '123', b: '456'}; objb = {a: '123', b: '000'}; var isEqual = cmp (obja, objb); console.log (isequal); // falso diferenteEspero que este artículo sea útil para la programación de JavaScript de todos.