Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ความสำคัญของเมธอด _isEqual() ใน JavaScript คืออะไร?


_isEqual()

_isEqual() มาจาก ขีดล่าง และ lodash ไลบรารีของจาวาสคริปต์ มันถูกใช้เพื่อเปรียบเทียบวัตถุจาวาสคริปต์ ความสำคัญของวิธีนี้คือไม่สนใจลำดับของคุณสมบัติในขณะที่เปรียบเทียบวัตถุ เพียงตรวจสอบว่าคุณสมบัติในวัตถุทั้งสองมีค่าเท่ากันหรือไม่ ในขณะที่ 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() ให้ผลลัพธ์เป็นเท็จ

ตัวอย่าง

<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