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);
Maks0bs