Last active
May 1, 2022 21:17
-
-
Save DoctorDerek/86a3c565b88359157ce9e9146a18713c to your computer and use it in GitHub Desktop.
// Try this code sample at https://npm.runkit.com/ramda https://medium.com/p/58fa3de25130
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Try this code sample at https://npm.runkit.com/ramda | |
const ramda = require("ramda") | |
// Start with a deeply nested array object: | |
const array = [37, {a: "b"}, {b: {c: "d"}}] | |
// Make a deep copy with Ramda: | |
const copy = ramda.clone(array) | |
console.info(array) // [37, {a: "b"}, {b: {c: "d"}}] | |
copy[0] = -0 // Change a primitive value (not nested) | |
copy[1].a = "y" // Change a deeply nested value | |
copy[2].b.c = "z" // Change another deeply nested value | |
// Deeply nested objects were actually copied this time: | |
console.info(array) // [37, {a: "b"}, {b: {c: "d"}}] | |
// Note how the changes to copy did not affect array: | |
console.info(copy) // [-0, {a: "y"}, {b: {c: "z"}}] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment