Restricted Deep Copy Implementations
Learn about two methods to implement deep copy and their limitations.
We'll cover the following...
JSON methods
There is a very easy implementation for making deep copies of JavaScript objects. Convert the JavaScript object into a JSON string, then convert it back into a JavaScript object.
Press + to interact
a = [];a.b = 'language hack';//comment the above a.b = 'language hack' and uncomment below line//a = new Date(2011,0,1);var deepCopy = function( o ) {return JSON.parse(JSON.stringify( o ));}var cloned_a = deepCopy( a );console.log( 'cloned_a.b = ', cloned_a.b );//comment the line 9 and uncomment the below line to see the output of line 4//console.log( 'cloned_a = ', cloned_a );
Restrictions:
-
Object
o
has to be finite; otherwise,JSON.stringify
throws an error. -
The
JSON.stringify
...