Skip to content

Instantly share code, notes, and snippets.

@edujr1
Created January 2, 2019 12:28
Show Gist options
  • Save edujr1/8ccf3250729e8dc03e1cb89df3443239 to your computer and use it in GitHub Desktop.
Save edujr1/8ccf3250729e8dc03e1cb89df3443239 to your computer and use it in GitHub Desktop.
Criar um Objeto clone sem referencias
/**
* Returns a depply cloned object without reference.
* Copied from Vue MultiSelect and Vuex.
* @type {Object}
*/
const deepClone = function (obj) {
if (Array.isArray(obj)) {
return obj.map(deepClone)
} else if (obj && typeof obj === 'object') {
var cloned = {}
var keys = Object.keys(obj)
for (var i = 0, l = keys.length; i < l; i++) {
var key = keys[i]
cloned[key] = deepClone(obj[key])
}
return cloned
} else {
return obj
}
}
export default deepClone;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment