Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { assign, cloneDeep } = require('lodash');
- let obj = {
- type: {
- values: {
- results: [1, 2]
- }
- }
- };
- let copy;
- // simple assignment => doesn't work
- copy = obj;
- copy
- copy.type.values.results.push(3);
- console.log(JSON.stringify(copy))
- console.log(JSON.stringify(obj))
- // spread => mutation => doesn't work
- obj = {
- type: {
- values: {
- results: [1, 2]
- }
- }
- };
- copy = {
- ...obj
- }
- copy
- copy.type.values.results.push(3);
- console.log(JSON.stringify(copy))
- console.log(JSON.stringify(obj))
- // lodash assing => mutation => doesn't work
- obj = {
- type: {
- values: {
- results: [1, 2]
- }
- }
- };
- copy = assign(obj, {});
- copy
- copy.type.values.results.push(3);
- console.log(JSON.stringify(copy))
- console.log(JSON.stringify(obj))
- // cloneDeep => works
- obj = {
- type: {
- values: {
- results: [1, 2]
- }
- }
- };
- copy = cloneDeep(obj);
- copy
- copy.type.values.results.push(3);
- console.log(JSON.stringify(copy))
- console.log(JSON.stringify(obj))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement