Why does the first function mutate originalArr (although I created copyArr to perform methods only on that copy)? And why doesn't the second function mutate originalArr?
function removeSmallest(originalArr) {
const copyArr = originalArr;
console.log(originalArr);
copyArr.splice(copyArr.indexOf(Math.min(...copyArr)), 1);
console.log(originalArr); //here originalArr is mutated, why?//
return copyArr;
}
function removeSmallest(originalArr) {
const copyArr = [];
copyArr.push(...originalArr);
console.log(originalArr);
copyArr.splice(copyArr.indexOf(Math.min(...copyArr)), 1);
console.log(originalArr); //originalArr not mutated, why?//
return copyArr;
}