JavaScript 中 _isEqual() 方法的重要性是什么?

javascriptobject oriented programmingfront end technology

_isEqual() 

_isEqual() 来自 javascript 的 underscore lodash  库。它用于比较 javascript 对象。此方法的重要性在于它在比较对象时不关心属性的顺序。它只检查两个对象中的属性是否相等。而用于比较对象的 JSON.stringify() 甚至检查对象属性的顺序,使 _isEqual()  成为更好的选择。

语法

_.isEqual(object1, object2);

它接受两个对象作为参数并检查它们是否相等。

示例

<html>
<head>
<script src =
   "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
</head>
<body>
<script>
   var obj1 = {name: "Sikha", designation: "Content developer"};
   var obj2 = {name: "Sikha", designation: "Content developer"};
   document.write(_.isEqual(obj1, obj2));
</script>
</body>
</html>

输出

true

在以下示例中,同时使用了 JSON.stringify() _isEqual() 方法。由于属性的顺序对  _isEqual() 方法来说不是问题,因此它输出 true,而 JSON.stringify() 输出 false。

示例

<html>
<head>
<script src =
   "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
</head>
<body>
<script>
   var obj1 = {name: "Sikha", designation: "Content developer"};
   var obj2 = {designation: "Content developer", name: "Sikha"};
   document.write(_.isEqual(obj1, obj2));
   document.write("</br>");
   document.write(JSON.stringify(obj1) === JSON.stringify(obj2));
</script>
</body>
</html>

输出

true
false

相关文章