1. Oberflächliches KlonenBeim flachen Klonen können keine Arrays und Objekte kopiert werden var obj = { Name: "abs", Alter: '18', Geschlecht: „männlich“ } var obj1 = {} Funktion Klon(Ursprung,Ziel) { Ziel = Ziel || {}; //Verhindert, dass Benutzer das Ziel betreten für(var k in Origin){ Ziel[k] = Ursprung[k]; } } Klon(Objekt,Objekt1); 2. Tiefes KlonenBestimmen Sie zunächst, was es ist: ein primitiver Wert, ein Array oder ein Objekt, und behandeln Sie sie separat
var obj = { Name: 'lin', Alter: '18', Geschlecht: männlich, Karte: [1,2,3,4], Gattin : { Name: "bcsds", Sohn: { Name: "aaa" }, Alter: '23' } } var obj1 = {} //Der Originalwert und der Rückgabewert des Objekt-Arrays typeof sind unterschiedlich function deepClone(origin,target) { Ziel = Ziel || {}; für(var k in Ursprung) { wenn (origin.hasOwnProperty(k)) { wenn(Typvon(Herkunft[k]) == 'Objekt') { wenn(Object.prototype.toString.call(origin[k]) == '[Objekt-Array]') { Ziel[k] = []; }anders { Ziel[k] = {}; } deepClone(Ursprung[k],Ziel[k]); }anders { Ziel[k] = Ursprung[k]; } } } } deepClone(Objekt,Objekt1); Das könnte Sie auch interessieren:
|
<<: Beispiel-Tutorial zur Verwendung der Summenfunktion in MySQL
>>: Docker-Netzwerkmodus und Konfigurationsmethode
Dieser Artikel stellt die automatische Build-Bere...
1. Grundstruktur: Code kopieren Der Code lautet wi...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
1.MySQL-Replikationskonzept Dies bedeutet, dass d...
Vorwort Kürzlich habe ich einer Tabelle in der Da...
Mobile Browser platzieren Webseiten in einem virtu...
Inhaltsverzeichnis Mixins-Implementierung Zusamme...
Das Gitterlayout weist einige Ähnlichkeiten mit d...
Bearbeiten Sie docker-compose.yml und fügen Sie d...
Inhaltsverzeichnis Vorwort 1. Fehlerprotokoll 2. ...
1. Befehlseinführung Mit dem Befehl cal (Kalender...
Unterabfrage in der MySql-Datenbank: Unterabfrage...
Wenn Sie VMware Workstation zum Öffnen einer virt...
Der Grund liegt darin, dass es nach der Installat...
Holen Sie sich die Anzahl der Verbindungen --- Ho...