У меня была похожая проблема, когда я добавлял объекты в массив. Я хотел быть уверен, что один и тот же объект не добавляется дважды.
Я нашел вспомогательную функцию для ExtJS, которая реализует функцию, которая сравнивает объекты на основе значений, содержащихся в объекте:
https://github.com/nmishra/helpers.js
Затем его можно использовать так:
var obj1 = {foo: 'bar'},
obj2 = {foo: 'bar'},
equality = Ext.ux.util.Object.compareObject(obj1, obj2);
console.log(equality);