JavaScript中如何对一个对象进行深度clone

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中如何对一个对象进行深度clone相关的知识,希望对你有一定的参考价值。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>深克隆</title>
<script>
function clone(obj)
{
if(typeof obj==‘object‘)
{
if(obj instanceof Array)
{
var result=[];

for(var i=0;i<obj.length;i++)
{
result[i]=clone(obj[i]);
}

return result;
}
else
{
var result={};

for(var i in obj)
{
result[i]=clone(obj[i]);
}

return result;
}
}
else
{
return obj;
}
}

var obj1=[12, {a: 11, b: 22}, 5];
var obj2=clone(obj1);

obj2[1].a+=5;

console.log(obj1, obj2);
</script>
</head>

<body>
</body>
</html>

以上是关于JavaScript中如何对一个对象进行深度clone的主要内容,如果未能解决你的问题,请参考以下文章

在javascript中将对象数组复制到另一个数组中(深度复制)

JavaScript中一个对象进行深度clone

JavaScript 中的对象深度复制(Object Deep Clone)

关于JavaScript对象深度克隆

javascript深度理解数组的sort()排序

如何深度复制一个javascript对象