অবজেক্টগুলি অ্যারে বা স্ট্রিংয়ের মতো নয়। তাই সহজভাবে "===" ব্যবহার করে তুলনা করুন অথবা "==" সম্ভব না. এখানে তুলনা করার জন্য আমাদের প্রথমে স্ট্রিংফাই করতে হবে বস্তু এবং তারপর সমতা অপারেটর ব্যবহার করে বস্তুর তুলনা করা সম্ভব।
নিম্নলিখিত উদাহরণে, বস্তুগুলি স্ট্রিংফাইড() ছিল৷ প্রথমে এবং তারপর একে অপরের সাথে তুলনা করুন।
উদাহরণ
<html> <body> <script> const obj1 = {Name: "Rahim", City: 'Hyderabad',Country: "India" }; const obj2 = {Name: "Rahim", City: 'Hyderabad',Country: "India" }; document.write(JSON.stringify(obj1) === JSON.stringify(obj2)); </script> </body> </html>
আউটপুট
true
আমরা যদি নিম্নলিখিত উদাহরণটি দেখি, যদিও একই বৈশিষ্ট্যগুলি পুনরাবৃত্তি করা হয়েছিল, তাদের ক্রম ভিন্ন। এই ক্ষেত্রে, বস্তুর তুলনা মিথ্যা হবে আউটপুটে দেখানো হয়েছে।
উদাহরণ
<html> <body> <script> const obj1 = {Name: "Rahim", City: 'Hyderabad', Country: "India" }; const obj2 = {Name: "Rahim", Country: "India", City: 'Hyderabad', }; document.write(JSON.stringify(obj1) === JSON.stringify(obj2)); </script> </body> </html>
আউটপুট
false
তাই এই অপূর্ণতা কাটিয়ে উঠতে, 'lodash নামে একটি জাভাস্ক্রিপ্ট লাইব্রেরি ' চালু করা হয়. এটি কী/মান জোড়া কিনা তা পরীক্ষা করে সমান বা না কিন্তু তাদের ক্রম নয়।
উদাহরণ
নিম্নলিখিত উদাহরণে "_isEqual()" lodash-এর বৈশিষ্ট্য জাভাস্ক্রিপ্ট বস্তুর তুলনা করতে ব্যবহৃত হয়।
<html> <head> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> const obj1 = {Name: "Rahim", City: 'Hyderabad', Country: "India" }; const obj2 = {Name: "Rahim", Country: "India", City: 'Hyderabad', }; document.write(JSON.stringify(obj1) === JSON.stringify(obj2)); document.write("</br>"); document.write(_.isEqual(obj1, obj2)); </script> </body> </html>
আউটপুট
false