Skip to content

Instantly share code, notes, and snippets.

@rajinder-yadav
Created May 2, 2017 16:04
Show Gist options
  • Save rajinder-yadav/d90462e356f7d908bbcee7ef3b91690b to your computer and use it in GitHub Desktop.
Save rajinder-yadav/d90462e356f7d908bbcee7ef3b91690b to your computer and use it in GitHub Desktop.
Cloning objects using spread and lodash

Object Cloning

To shallow clone an object, just use the JavaScript spread operator.

To perform a deep clone, make use of lodash deepClone.

import { cloneDeep as _cloneDeep } from "lodash";

const obj = {
  a: "one",
  b: "bbb",
  deeper: {
    name: "blank"
  }
};

const shallowClone = {
  ...obj,
  b: "Shallow",
  deeper: { name: "Max Shallow" }
};

console.log( shallowClone );
const deepClone = {
  ..._cloneDeep( obj ),
  b: "Deep",
  deeper: { name: "Max Deep" }
};

console.log( deepClone );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment