function deepCopy(obj){ let toString = Object.prototype.toString; if(typeof obj !== 'object') return obj; if(obj === null) return null; if(Array.isArray(obj)) return obj.map(deepCopy); let newObj = {}; for(let key in obj){ if(toString.call(obj[key])==='[object Date]'){ newObj[key] = new Date(obj[key]) } else if(toString.call(obj[key])==='[object RegExp]'){ newObj[key] = new RegExp(obj[key]) }else{ newObj[key] = deepCopy(obj[key]); } } return newObj; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter