Immutable copy of an Array or object
by Pritesh Patel
JavaScript
const heroes = [
{ name: 'Wolverine', family: 'Marvel', isEvil: false },
{ name: 'Deadpool', family: 'Marvel', isEvil: false },
{ name: 'Magneto', family: 'Marvel', isEvil: true },
{ name: 'Charles Xavier', family: 'Marvel', isEvil: false },
{ name: 'Batman', family: 'DC Comics', isEvil: false },
{ name: 'Harley Quinn', family: 'DC Comics', isEvil: true },
{ name: 'Legolas', family: 'Tolkien', isEvil: false },
{ name: 'Gandalf', family: 'Tolkien', isEvil: false },
{ name: 'Saruman', family: 'Tolkien', isEvil: true }
]
/* const newHeroes = JSON.parse(JSON.stringify(heroes)) */
/* const newHeroes = heroes.slice().map(h => {
h.name = h.name.toUpperCase()
return console.log(h);
}); */
const newHeroes= JSON.parse(JSON.stringify(heroes)).map(h => {
h.name = h.name.toUpperCase()
return console.log(h);
});
console.log(newHeroes);
console.log(heroes);