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

JavaScript में पुनरावर्ती रूप से जाँचें कि क्या ऑब्जेक्ट पर हर गुण समान है


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

उदाहरण के लिए - यदि ऑब्जेक्ट है:

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

तो फ़ंक्शन को true लौटाना चाहिए क्योंकि सभी अंतिम कुंजियों का मान समान है (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. क्या हम JavaScript में जांच सकते हैं कि कोई प्रॉपर्टी ऑब्जेक्ट में है या नहीं? क्या हम JavaScript में जांच सकते हैं कि कोई प्रॉपर्टी ऑब्जेक्ट में है या नहीं?

    JavaScript में जांचने का कोड कि कोई प्रॉपर्टी ऑब्जेक्ट में मौजूद है या नहीं:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&

  1. जावास्क्रिप्ट में ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट कैसे करें? जावास्क्रिप्ट में ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट कैसे करें?

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

  1. जावास्क्रिप्ट में कैसे जांचें कि कोई ऑब्जेक्ट क्लास का इंस्टेंस है? जावास्क्रिप्ट में कैसे जांचें कि कोई ऑब्जेक्ट क्लास का इंस्टेंस है?

    जावास्क्रिप्ट में जांचने का कोड कि कोई ऑब्जेक्ट क्लास का इंस्टेंस है या नहीं - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style> &n