Was die Implementierung von Deep Copy in js betrifft, muss man zunächst verstehen, dass zum Kopieren komplexer Objekte die Idee der Rekursion verwendet wird. Im Folgenden finden Sie eine schrittweise Implementierung und Erklärung durch Code.
function deepClone(data1,data2){ var data2 = data2 || {}; //局部变量data2赋初值为接收的参数或者为一个空对象。 for(var key in data1){ if(typeof data1[key] === 'object'){ //依次判断data1对象的属性是不是对象 data2[key] = (data1[key].constructor===Array) ? [] : {} //判断要复制的项是对象还是数组 deepClone(data1[key],data2[key]); //递归实现 }else { data2[key] = data1[key] //如果不是的可以直接相等 } } return data2; } var json = {"name":"小倪子麻麻","age": "20",arr1:[2,3,4,5]}; var json1 = {}; json1 = deepClone (json,json1); json.arr1.pop(); console.log(json); //{"name":"小倪子麻麻","age": "20",arr1:[2,3,4]}; console.log(json1);//{"name":"小倪子麻麻","age": "20",arr1:[2,3,4,5]};
Verwandte Empfehlungen:
Detaillierte Erklärung von Shallow Copy und Deep Copy in PHP
Deep Copy von JavaScript Objekte kopieren
Serialisierung von Deep Copy (Deep Clone) und Shallow Copy (Shallow Clone) von Objekten in Java
Das obige ist der detaillierte Inhalt vonjs realisiert die gemeinsame Nutzung von Deep-Copy-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!