jQuery3 +中的对象平等

时间:2017-09-11 08:30:48

标签: jquery jquery-ui

vue-clihttps://jsfiddle.net/pyb10ey9/

比较jquery3 +版本中两个不同数组的相同对象,并返回false。我无法找到它的不同之处。

1 个答案:

答案 0 :(得分:0)

使用vanilla Javascript比较2个对象的正确方法是JSON.stringify(),可能是最快的Javascript之一。请记住,它是在2006年使用Javascript 1.7引入的,可能无法在较旧的浏览器上使用,因为您可以看到here。但是,根据我的标准,全球覆盖率超过97%是非常安全的。

正如您在示例中所看到的,它必须依赖于属性的排序。

var data = {
colors: [{
    id: 1,
    color: "red"
  }, {
    color: "green",
    id: 2
  }]
};
var data1 = {
  colors: [{
    id: 1,
    color: "red"
  }, {
    id: 2,
    color: "green"
  }]
};
 var isDataEqual = JSON.stringify(data1.colors[1]) == JSON.stringify(data.colors[1]);
      alert("jquery version : " + jQuery.fn.jquery + "\n" + "isDataEqual : " + isDataEqual);

Working JsFiddle

Very informative research