Cet article décrit la méthode de JavaScript pour comparer si deux objets sont égaux. Partagez-le pour votre référence. Les détails sont les suivants:
Dans Python, vous pouvez utiliser la fonction intégrée CMP () pour comparer si les données contenues dans deux objets sont égales (tableaux, séquences, dictionnaires). Cependant, il n'y a pas de mise en œuvre pertinente dans la langue JavaScript. Ce code JS juge si les deux objets sont égaux en comparant divers aspects de l'objet JS.
cmp = function (x, y) {// Si x et y sont nuls ou indéfinis et exactement le même if (x === y) {return true; } // S'ils ne sont pas strictement égaux, ils doivent tous les deux être des objets if (! (X instanceOf objet) ||! (Y instanceOf objet)) {return false; } // Ils doivent avoir exactement la même chaîne prototype, la plus proche que nous pouvons faire est // tester le constructeur. if (x.constructor! == Y.Constructor) {return false; } pour (var p dans x) {// Les propriétés héréditaires ont été testées à l'aide de x.constructor === y.Constructor if (x.hasownproperty (p)) {// permet de comparer x [p] et y [p] lorsqu'il est défini à un indéfini if (! y.hasownproperty (p)) {return false; } // S'ils ont la même valeur ou identité stricte, ils sont égaux si (x [p] === y [p]) {continue; } // Nombres, chaînes, fonctions, les booléens doivent être strictement égaux if (typeof (x [p])! == "Object") {return false; } // Les objets et les tableaux doivent être testés récursivement if (! Object.equals (x [p], y [p])) {return false; }}} pour (p en y) {// permet de définir x [p] sur si (y.hasownproperty (p) &&! x.hasownproperty (p)) {return false; }} return true; };utiliser:
obja = {a: '123', b: '456'}; objb = {a: '123', b: '000'}; var isEqual = cmp (obja, objb); Console.log (ISequal); // faux différentJ'espère que cet article sera utile à la programmation JavaScript de tous.