JSFiddle - React, Tailwind, and code Playground
by kentaromiura
JavaScript
function copy(obj){
var create = Object.create || function create(proto){
var f = function(){}
f.prototype = proto
return new f()
}
var gPO = Object.getPrototypeOf || function(obj){
return obj.__proto__ || obj.constructor.prototype
}
var _copy_ = create(gPO(obj));
for(var key in obj){
var value = obj[key]
_copy_[key] = value && typeof value === 'object'? copy(value) : value
}
return _copy_
}
original = {
obj: {
arr: [{foo:1},{bar:2}]
}
}
var _copy_ = copy(original)
original.obj.arr.push({baz:3})
original.obj = {foo:'bar'}
console.log(_copy_)