JS – Comparar dos Objetos en JavaScript
Publicado por Iván Gajate el 29 de noviembre de 2013 en JavaScript
Los Object en JavaScript se comparan por referencia, es decir, que aunque sean dos objetos idénticos, cada uno apunta a un espacio de memoria diferente. Así:
var a = {nombre:'Ivan'}; var b = {nombre:'Ivan'}; alert(a == b); // false |
Una forma rápida y sencilla de comparar dos objetos es convertirlos a una cadena de texto con JSON.stringify
var a = {nombre:'Ivan'}; var b = {nombre:'Ivan'}; // Compare two objects function compareObjects(obj1, obj2) { return JSON.stringify(obj1) === JSON.stringify(obj2); } alert( compareObjects(a, b) ); // true |
Si tratamos de usarlo con un objeto jQuery nos dará un error porque tiene referencias circulares.
11 de diciembre de 2014 a las 12:46
También es interesantes esta otra forma para comparar objetos del DOM
http://makandracards.com/makandra/13445-compare-two-jquery-objects-for-equality