jQuery比较两个序列化对象

我正在使用一个插件,它具有用于startstop事件的API。 当我开始拖动网格中的元素时,它会创建一个处于当前状态的所有数据的序列化数组。

删除项目时,它还会创建一个序列化的数据数组。

我想比较这两组数据,看看它是否发生了变化。 我不想触发数据库调用来更新网格放置,如果用户开始拖动某些内容然后将其放回其先前的位置。

我尝试比较它们,因为使用==并且我在比较之前首先使用了jSON.stringify但是已经读过它可以提供混合结果。

是否有一种简单的方法来比较像这样的两个对象?

在此处输入图像描述

==检查对象的引用是否相等(不比较内容)。

对于深层对象比较,您可以使用lodash的isEqual() 。

如果你不介意一些不雅,你可以这样做:

 var obj1 = [{x:1},{x:2}]; var obj2 = [{x:1},{x:2}]; var obj3 = [{x:1},{x:3}]; function isSameObject(o1, o2) { return JSON.stringify(o1) == JSON.stringify(o2); } alert('is same obj 1 and obj 2?' + isSameObject(obj1, obj2)); alert('is same obj 1 and obj 3?' + isSameObject(obj1, obj3));