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 error को error class को बढ़ा कर बढ़ाया जा सकता है। ऐसा करने का सबसे अच्छा तरीका एक नया कस्टम त्रुटि वर्ग बनाना है जो अंतर्निहित जावास्क्रिप्ट त्रुटि वर्ग का विस्तार करता है। जावास्क्रिप्ट में त्रुटियों का विस्तार करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=

  1. जावास्क्रिप्ट में ईवेंट जोड़ने का सबसे अच्छा तरीका क्या है?

    किसी भी तत्व में ईवेंट जोड़ने का सबसे अच्छा तरीका है addEventListener() विधि का उपयोग करना। जावास्क्रिप्ट में ईवेंट जोड़ने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"

  1. MySQL तालिका में किसी पंक्ति की उपस्थिति की जाँच करने का सबसे कारगर तरीका क्या है?

    सबसे कुशल एक पंक्ति की उपस्थिति की जांच करना चाहते हैं, गिनती का उपयोग करें (): अपने TableName से गिनती चुनें(1) जहां आपकी स्थिति है; आइए पहले एक टेबल बनाएं: टेबल बनाएं DemoTable(Id int, FirstName varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.73 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ र