English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Einleitung:Im täglichen Entwicklungsarbeit könnten wir mit der Kopie aller Werte in JavaScript-Objekten konfrontiert werden, oder es könnte eine Client-Entwicklung durch Electron sein, bei der eine Problemstellung bei der Konfigurationskombination auftritt. In diesem Artikel werde ich eine kurze Lösungsvorschlag beschreiben.
Einführung: Zum Beispiel gibt es obj1, obj2können wir obj1alle mit obj2alle Werte der gleichen Feldtiefe wie obj2, und es muss sichergestellt werden, dass obj2Die Feldstruktur bleibt unverändert, rufen Sie einfach diese Methode auf (verwendet ES6Schreibweise).
Code:
/** * Die Daten in src werden in dist kopiert und die Struktur von dist beibehalten * @param src * @param dist */ copyValue(src, dist) { if (!src || typeof(src) !== 'object' || typeof(dist) !== 'object'){ return ; , let keys = Object.keys(dist) if (keys && keys.length > 0 && isNaN(keys[0])){ keys.forEach(key => { let value = dist[key] let srcVal = src[key] // Überprüfen Sie, ob es sich um ein Objekt handelt. Wenn ja, wird fortgegangen, wenn nein, beginnt die Zuweisung oder wird ignoriert if (value !== undefined && typeof(value) === 'object' && srcVal && typeof(srcVal) === 'object' && srcVal[0] === undefined){ copyValue(srcVal, value) } else if (value !== undefined && srcVal && typeof(value) == typeof (srcVal)){ // Wenn die Quelldaten existieren und die Typen übereinstimmen, beginnt die Zuweisung dist[key] = src[key] , } , ,
Das ist der vollständige Inhalt dieses Artikels. Ich hoffe, es hilft Ihnen bei Ihrem Lernen, und ich hoffe auch, dass Sie die呐喊教程 mehr unterstützen.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem Urheberrecht des Urhebers. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie verdächtige Urheberrechtsinhalte finden, sind Sie herzlich eingeladen, eine E-Mail an notice#w zu senden:3codebox.com (Bitte ersetzen Sie # durch @, wenn Sie eine Beschwerde einreichen, und fügen Sie relevante Beweise bei. Bei nachgewiesener Infringement wird die Website den beschuldigten Inhalt sofort löschen.)