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
** Detaillierte grafische Anweisungen zur Install...
Nginx kann die Direktive „limit_req_zone“ des Mod...
Wenn der Tabellenkopf fixiert ist, muss er in zwe...
Vorwort Wenn wir in der täglichen Entwicklung MyS...
Tatsächlich fragen wir uns jeden Tag, wann IE6 wi...
Inhaltsverzeichnis Übergeordnete Komponente kommu...
Vue speichert Speicher mit Booleschen Werten Ich ...
Zuerst müssen Sie Navicat für MySQL herunterladen...
Inhaltsverzeichnis animate()-Animationsmethode An...
【Problemanalyse】 Wir können den Befehl chown verw...
In diesem Artikel wird hauptsächlich die Implemen...
Inhaltsverzeichnis Hintergrund dieser Serie Überb...
Führen Sie den Befehl aus: glxinfo | grep renderi...
Inhaltsverzeichnis Vorwort 1. Der Effekt ist wie ...
Dieser Artikel beschreibt, wie man OpenCV mit C++...