Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

कैसे जांचें कि ऑब्जेक्ट पर प्रत्येक संपत्ति जावास्क्रिप्ट में समान रूप से समान है या नहीं?

<घंटा/>

मान लीजिए, हमें एक फ़ंक्शन लिखने की आवश्यकता है, कहते हैं isSame() जो एक नेस्टेड ऑब्जेक्ट को स्वीकार करता है और इस तथ्य के आधार पर एक बूलियन देता है कि सभी कुंजियों का मान समान है या नहीं। सभी कुंजियों को कहते समय हमारा मतलब सभी अंतिम कुंजियों से है यदि किसी कुंजी में नेस्टेड ऑब्जेक्ट का मान है, तो हमें नेस्टेड ऑब्जेक्ट के अंत तक जाना होगा और उस मान की जांच करनी होगी।

उदाहरण के लिए - यदि वस्तु है -

const obj = {
   a: 1,
   b: 1,
   c: {
      aa: 1
   }
};

फिर फ़ंक्शन को सही लौटना चाहिए क्योंकि सभी अंत कुंजियों का एक ही मान (1) होता है। इसलिए, आइए इस समस्या का एक पुनरावर्ती समाधान लिखें।

उदाहरण

const obj = {
   a: 1,
   b: 1,
   c: {
      aa: 3
   }
};
const allSame = (obj, value) => {
   const keys = Object.keys(obj);
   for(let i = 0; i < keys.length; i++){
      if(typeof obj[keys[i]] === "object" &&
      !Array.isArray(obj[keys[i]])){
         return allSame(obj[keys[i]], value);
      };
      if(!value){
         value = obj[keys[i]];
         continue;
      }
      if(obj[keys[i]] !== value){
         return false;
      };
   };
   return true;
}
console.log(allSame(obj));
console.log(allSame({ a: 1, b: 1, c: { aa: 1 } }));
console.log(allSame({ a: { x: 1 }, b: 1, c: { aa: 1 } }));
console.log(allSame({ a: 1, b: 1, c: { aa: 2 } }));

आउटपुट

कंसोल में आउटपुट होगा -

false
true
true
false

  1. क्या हम जांच सकते हैं कि कोई संपत्ति जावास्क्रिप्ट के साथ किसी वस्तु में है या नहीं?

    जावास्क्रिप्ट में किसी ऑब्जेक्ट में कोई प्रॉपर्टी है या नहीं, यह जांचने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.

  1. जावास्क्रिप्ट के साथ एक ही सरणी में किसी सरणी के तत्वों की नकल कैसे करें?

    निम्नलिखित एक ही सरणी में एक सरणी के तत्वों को डुप्लिकेट करने के लिए कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. कैसे जांचें कि कोई ऑब्जेक्ट जावास्क्रिप्ट में कक्षा का उदाहरण है या नहीं?

    यह जांचने के लिए कोड निम्नलिखित है कि क्या कोई वस्तु जावास्क्रिप्ट में एक वर्ग का उदाहरण है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0&quo