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.
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
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);
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);
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!