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
1. Bearbeiten Sie die PAM-Konfigurationsdatei sud...
Wenn Sie eine E-Mail in einem Shell-Skript erstel...
In diesem Artikel wird der spezifische Code von J...
Methode 1: Verwenden Sie den Befehl SET PASSWORD ...
Vorwort Wie wir alle wissen, legt die Nginx-Konfi...
Schnelles Lesen Warum müssen wir SQL-Anweisungen ...
Remote-Debugging von Webdiensten In .NET ist die ...
Vim ist ein leistungsstarker Vollbild-Texteditor ...
In diesem Artikelbeispiel wird der spezifische Co...
Als ich heute jemandem beim Anpassen des Codes ha...
1. Melden Sie sich bei MySQL an und verwenden Sie...
In diesem Artikel finden Sie das Installations- u...
Inhaltsverzeichnis JVM-Klassenlader Tomcat-Klasse...
1. Systemumgebung Die Systemversion nach dem Yum-...
1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...