how to make deep clone in javascript code example

Example 1: javascript deep clone

var cloned = JSON.parse(JSON.stringify(objectToClone));

Example 2: js clone deep

// only works with pure JSON data (bool, numbers, strings, arrays, nested
// objects; No functions).
var obj2 = JSON.parse(JSON.stringify(obj));

// works with everything, requires lodash library, faster than previous answer
var obj2 = _.cloneDeep(obj, true);

// shallow copy
var obj2 = Object.assign({}, obj);

Example 3: 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;
}