Heim > Web-Frontend > js-Tutorial > So kopieren Sie Objekte in Javascript

So kopieren Sie Objekte in Javascript

藏色散人
Freigeben: 2023-01-05 16:14:12
Original
16220 Leute haben es durchsucht

So kopieren Sie Objekte in Javascript: 1. Durchlaufen Sie die Eigenschaften des Originalobjekts und weisen Sie sie einem neuen Objekt zu. 2. Ändern Sie das Objekt in einen String und dann in ein JSON-Objekt. 4 . Implementieren Sie tiefe Kopien von Objekten mit dem Spread-Operator. 5. Implementieren Sie tiefe Kopien von Arrays mit den ES6-Extend-Operatoren.

So kopieren Sie Objekte in Javascript

Die Betriebsumgebung dieses Artikels: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Wie kopiere ich ein Objekt in js?

Methode 1:

Durchlaufen Sie die Eigenschaften des Originalobjekts und weisen Sie sie einem neuen Objekt zu.

//深复制对象方法    
var cloneObj = function (obj) {  
    var newObj = {};  
    if (obj instanceof Array) {  
        newObj = [];  
    }  
    for (var key in obj) {  
        var val = obj[key];  
        //newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; //arguments.callee 在哪一个函数中运行,它就代表哪个函数, 一般用在匿名函数中。  
        newObj[key] = typeof val === 'object' ? cloneObj(val): val;  
    }  
    return newObj;  
};  
//测试    
var obj = {a:function(){console.log(this.b.c)},b:{c:1}},//设置一个对象  
newObj = cloneObj(obj);//复制对象  
newObj.b.c=2;//给新对象赋新值  
obj.a();//1,不受影响  
newObj.a();//2
Nach dem Login kopieren

Methode 2:

1) Ändern Sie zuerst das Objekt in einen String und dann in ein JSON-Objekt, um das Objektzeigerproblem zu vermeiden, bei dem es sich um eine tiefe Kopie handelt.

2) ignoriert und das Datumstypattribut wird in eine Zeichenfolge konvertiert

var obj = {a:1,b:2}  
var newObj = JSON.parse(JSON.stringify(obj));  
newObj.a=3;  
console.log(obj);  
console.log(newObj);
Nach dem Login kopieren

Methode 3:

Für die Methode des Array-Objekts verwenden Sie die Array-Methode, um ein leeres Array zu verketten

var a=[1,2,3];  
var b=a;  
var c=[].concat(a);  
a.push(4);  
console.log(b);  
console.log(c);
Nach dem Login kopieren

Methode 4:

Expand-Operator zu Implementieren Sie das Objekt Deep Copy

Das obige ist der detaillierte Inhalt vonSo kopieren Sie Objekte in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage