JavaScript में ऑब्जेक्ट को डीप क्लोन करने का सबसे प्रभावी तरीका
सभी को नमस्कार! मैं JavaScript में नया हूँ और ऑब्जेक्ट्स को कॉपी करने में समस्या का सामना कर रहा हूँ। मुझे ऑब्जेक्ट की एक स्वतंत्र कॉपी बनानी है, ताकि कॉपी में बदलाव मूल को प्रभावित न करें।
यहाँ एक कोड उदाहरण है जो मेरे लिए काम नहीं कर रहा:
```javascript
const original = {
name: 'Анна',
age: 25,
address: {
city: 'Москва',
street: 'Ленина'
},
hobbies: ['чтение', 'спорт']
};
const copy = original;
copy.name = 'Мария';
copy.address.city = 'СПб';
console.log(original.name); // 'Мария' — बदल गया!
console.log(original.address.city); // 'СПб' — यह भी बदल गया!
```
मैंने `Object.assign()` और spread-ऑपरेटर का उपयोग करने की कोशिश की:
```javascript
const copy2 = Object.assign({}, original);
const copy3 = {...original};
copy2.address.city = 'Казань';
console.log(original.address.city); // 'Казань' — फिर से बदल गया!
```
समस्या यह है कि नेस्टेड ऑब्जेक्ट्स और arrays रेफरेंस से कॉपी होते हैं। मैंने `JSON.parse(JSON.stringify())` के बारे में सुना है, लेकिन कहते हैं कि यह
अभी तक कोई उत्तर नहीं।
लॉग इन करें उत्तर देने के लिए