Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ความสำคัญของ _isEqual() Method ใน JavaScript

_isEqual()

_isEqual() มาจาก library underscore และ lodash ใช้เปรียบเทียบ JavaScript objects จุดสำคัญ: ไม่สนใจลำดับ properties ตรวจสอบแค่ properties ในสองออบเจ็กต์เท่ากันหรือไม่ ในขณะที่ JSON.stringify() ตรวจสอบลำดับ properties ด้วย ทำให้ _isEqual() ดีกว่า

รูปแบบ

_.isEqual(object1, object2);

รับ 2 ออบเจ็กต์ ตรวจสอบความเท่ากัน

ตัวอย่างที่ 1

<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

ตัวอย่างที่ 2: ใช้ทั้ง JSON.stringify() และ _isEqual() ลำดับ properties สลับกัน _isEqual() คืน true แต่ JSON.stringify() คืน false

ตัวอย่างที่ 2

<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