オブジェクトを再帰的に深くコピーする
4409 ワード
話を多くしないで直接コードを入れました.
<script>
var obj = {
//
name: " ",
age: 14,
tel: 110,
info: {
isSingle: true
}
}
//
function deepClone(params) {
var obj = {
}
if(!(params instanceof Object)) return
for(let key in params) {
if(params[key] instanceof Object) {
obj[key] = deepClone(params[key])
} else {
obj[key] = params[key]
}
}
return obj
}
//
var obj2 = deepClone(obj)
obj2.name = ' '
obj2.info.isSingle = false
console.log(obj, obj2)
</script>