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

ความซับซ้อนของการเปรียบเทียบวัตถุใน JavaScript โดยใช้ตัวดำเนินการเปรียบเทียบหรือ JSON.stringlify ()?


สมมติว่าต่อไปนี้เป็นวัตถุของเรา −

var object1 = { firstName: "David" };
var object2 = { firstName: "David" };

คุณจะไม่ได้รับผลลัพธ์ที่ถูกต้องโดยใช้ตัวดำเนินการเปรียบเทียบ (==หรือ ===) ใช้ JSON.stringify() สำหรับสิ่งนี้

ตัวอย่าง

ต่อไปนี้เป็นรหัสที่ใช้ทั้งสองวิธีและแสดงผลที่ถูกต้อง -

var object1 = { firstName: "David" };
var object2 = { firstName: "David" };
if (object1 == object2)
   console.log("using == operator result ==> true");
else
   console.log("using == operator result ==> false");
if (JSON.stringify(object1) == JSON.stringify(object2))
   console.log("using JSON.stringify() operator result ==> true");
else
   console.log("using JSON.stringify() operator result ==> false");

ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -

node fileName.js.

ที่นี่ ชื่อไฟล์ของฉันคือ demo224.js

ผลลัพธ์

ผลลัพธ์จะเป็นดังนี้ −

PS C:\Users\Amit\JavaScript-code> node demo224.js
using == operator result ==> false
using JSON.stringify() operator result ==> true