JSFiddle - React, Tailwind, and code Playground
HTML
<h2>Original</h2>
<pre id='original'>original</pre>
<h2>Clone</h2>
<pre id='clone'>clone</pre>
JavaScript
// original and clone
var
original = { 'uno' : 1, 'sub' : { 'hello' : true } };
original_clone = clone(original);
//Only change the copy:
original_clone['sub']['newValue'] = false;
// pretty JSON print
document.getElementById('original').innerHTML =
JSON.stringify(original,null,2);
document.getElementById('clone').innerHTML =
JSON.stringify(original_clone,null,2);
// Clone Function
function clone(obj) {
if (null == obj || "object" != typeof obj) return obj;
var copy = obj.constructor();
for (var attr in obj) {
if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]);
}
return copy;
}