deep copy shallow copy js code example
Example 1: shallow copy vs deep copy js
/*
Search Results
Featured snippet from the web
A deep copy means that all of the values of the new variable
are copied and disconnected from the original variable.
A shallow copy means that certain (sub-)values are still connected
to the original variable. To really understand copying,
you have to get into how JavaScript stores values
/*
Example 2: deep copy js
//recursive deep copy of object
function dup(o) {
// "string", number, boolean
if(typeof(o) != "object") {
return o;
}
// null
if(!o) {
return o; // null
}
var r = (o instanceof Array) ? [] : {};
for(var i in o) {
if(o.hasOwnProperty(i)) {
r[i] = dup(o[i]);
}
}
return r;
}