Wenn wir ein Objekt in ein anderes Objekt kopieren müssen, verwenden wir im Allgemeinen so etwas:
const mainObject = { id: 1 }; const secondaryObject = { ...mainObject };
Dies funktioniert jedoch nur zum Kopieren der flachen Eigenschaften des Objekts. Wenn wir einen Fall wie den folgenden Code haben, ändert sich das Szenario:
const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } }; const secondaryObject = { ...mainObject };
Der Eigenschaftsbenutzer wird nicht kopiert; es wird weiterhin mit mainObject verknüpft sein. Wenn wir also die Benutzereigenschaft ändern, wirkt sich dies auch auf mainObject aus. Um dieses Problem zu lösen, können wir Folgendes tun:
const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } }; const deepCopy = JSON.parse(JSON.stringify(mainObject ));
Jetzt haben wir eine tiefe Kopie von mainObject mit zwei unterschiedlichen Speicheradressen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3