<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
var obj1 = { a: 1, b: 2, c: [33, 44, { m: 55, n: 66, p: [77, 88] }] };
var obj2 = deepClone(obj1);
function deepClone(obj1, type = "object") {
if (type === "object") {
var obj2 = {};
}
if (type === "array") {
var obj2 = [];
}
for (var k in obj1) {
if (Array.isArray(obj1[k])) {
obj2[k] = deepClone(obj1[k], "array");
} else if (typeof obj1[k] === "object") {
obj2[k] = deepClone(obj1[k]);
} else {
obj2[k] = obj1[k];
}
}
return obj2;
}
console.log(obj2);
</script>
</body>
</html>
