Concernant l'implémentation de la copie profonde en js, la première chose à comprendre est que pour copier des objets complexes, on utilise l'idée derécursion. Ce qui suit est une implémentation et une explication étape par étape via le 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]};
Recommandations associées :
Explication détaillée de la copie superficielle et de la copie profonde en php
Copie approfondie de JavaScript Copie d'objets
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!