I've recently learned about pass-by-reference. So I expected the behaviour of arr2, but have trouble understanding why arr1 is not changed outside of the function. Someone please enlighten me?
let arr1 = ([1, 2, 3, 4])
let arr2;
let a = 1
let b = 3
filterRange(arr1, a, b);
function filterRange(arr1, a, b) {
arr2 = arr1.filter(item => {
return ((item >= a) && (item <= b)) ? item : "";
});
arr1 = arr1.filter(item => {
return ((item >= a) && (item <= b)) ? item : "";
});
return
}
console.log(arr1) // [1, 2, 3, 4]
console.log(arr2) // [1, 2, 3]