मान लीजिए, हमारे पास इस तरह के दो JSON ऑब्जेक्ट हैं -
const obj1 ={a:"सेब", b:"केला", c:"गाजर"};const obj2 ={a:"सेब", e:"अंडा", b:"केला", c:"गाजर", डी:"कुत्ता"};
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो ऐसी वस्तुओं को लेता है। हम दोनों में से किसी एक से डेटा निकाले बिना दो वस्तुओं की तुलना करने के लिए एक बूलियन जांच करने में सक्षम होना चाहते हैं।
उदाहरण के लिए, यदि मुझे ऊपर दिए गए डेटा का उपयोग करना है, तो बूलियन चेक सही होना चाहिए क्योंकि दोनों ऑब्जेक्ट्स में मौजूद कुंजियों के मान मेल खाते हैं।
हालांकि, मान लें कि obj1 वही रहता है लेकिन obj2 निम्नलिखित है -
const obj1 ={a:"सेब", b:"केला", c:"गाजर"}const obj2 ={a:"चींटी", e:"अंडा", b:"केला", c:" गाजर", d:"कुत्ता"}
इस डेटा के साथ, इसे झूठी वापसी करनी चाहिए क्योंकि एक कुंजी का मान मेल नहीं खा रहा है, भले ही अन्य फ़ील्ड मेल खा रहे हों और कुछ फ़ील्ड दोनों ऑब्जेक्ट्स में मौजूद न हों।
उदाहरण
इसके लिए कोड होगा -
const obj1 ={a:"सेब", b:"केला", c:"गाजर"}const obj2 ={a:"सेब", b:"केला", c:"गाजर", d:" कुत्ता", ई:"अंडा"} const obj3 ={ए:"सेब", बी:"केला", सी:"गाजर"} const obj4 ={ए:"चींटी", ई:"अंडा", बी:" केला", सी:"गाजर", डी:"कुत्ता"}फ़ंक्शन चेकइक्वलिटी (ए, बी) {const entry1 =Object.entries(a); कॉन्स्ट एंट्री 2 =ऑब्जेक्ट.एंट्रीज (बी); कॉन्स्ट शॉर्ट =प्रविष्टियाँ 1. लंबाई> प्रविष्टियाँ 2? प्रविष्टियाँ2 :प्रविष्टियाँ1; कॉन्स लंबा =छोटा ===प्रविष्टियां 1? बी 0 ए 0; const isEqual =short.every(([k, v]) => long[k] ===v); वापसी isEqual;}console.log(checkEquality(obj1, obj2))console.log(checkEquality(obj3, obj4))
आउटपुट
और कंसोल में आउटपुट होगा -
<पूर्व>सच्चाई