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

आप जावास्क्रिप्ट में किसी ऑब्जेक्ट की डीप कॉपी कैसे करेंगे?

<घंटा/>

किसी वस्तु की एक गहरी प्रतिलिपि उस वस्तु के भीतर आने वाली प्रत्येक वस्तु की नकल करती है जिसे हम कॉपी करना चाहते हैं। प्रतिलिपि और मूल वस्तु कुछ भी साझा नहीं करेगी, इसलिए यह मूल की एक प्रति होगी।

ऑब्जेक्ट को JSON स्ट्रिंग में कनवर्ट करना और इसे वापस JS ऑब्जेक्ट में कनवर्ट करना सबसे आसान तरीका है। हालांकि इस तरह से विधि की प्रतिलिपि बनाने की अनुमति नहीं है।

उदाहरण

let obj = {
   foo: 1,
   bar: { baz: 'test' }
}
let newObj = JSON.parse(JSON.stringify(obj));
obj.bar.baz = 20;
console.log(obj);
console.log(newObj);

आउटपुट

{ foo: 1, bar: { baz: 20 } }  
{ foo: 1, bar: { baz: 'test' } } 

यहां newObj मूल obj में अपडेट के साथ नहीं बदलता है, इसलिए डीप कॉपी करना सफल रहा।


  1. स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में कैसे बदलें?

    एक स्ट्रिंग को JavaScript ऑब्जेक्ट में बदलने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <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" /> <

  1. एक बहुआयामी जावास्क्रिप्ट ऑब्जेक्ट कैसे बनाएं?

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