I am using .map()
on an array inside a function. I am not modifying the array itself (arr = arr.map(...)
), but rather creating a new array (var arr2 = arr.map(...)
).
Yet, this still modifies the original arr
outside my function (which I don't want). How can I preserve?
var arr = [{prop: 1}];
myFunction(arr);
console.log(arr[0].prop); // returns 2, I want it to return 1
function myFunction(arr) {
var arr2 = arr.map(obj => {
obj.prop = 2;
return obj;
});
console.log(arr[0].prop); // returns 2
}