Skip to content

Instantly share code, notes, and snippets.

@arturparkhisenko
Last active May 30, 2018 09:32
Show Gist options
  • Select an option

  • Save arturparkhisenko/db604e314ea8ff8ba065 to your computer and use it in GitHub Desktop.

Select an option

Save arturparkhisenko/db604e314ea8ff8ba065 to your computer and use it in GitHub Desktop.
clone-js-object-array-etc
const clone = data => {
if (typeof data !== 'object' || data === null) {
return data;
}
const copy = data instanceof Array ? data.constructor() : Object.create(Object.getPrototypeOf(data));
for (const [key, value] of Object.entries(data)) {
copy[key] = clone(value);
}
return copy;
};
export default clone;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment