Кто может подсказать? Есть функция которая в зависимости от выбранного добавляет элемент в массив, по второму условию тот же элемент должна удалить из массива, так вот удаление не происходит. arr - массив передаваемый, val - значение. (сплайсом отрабатывает корректно, хотелось бы понять почему фильтер не хочет) Дальше записываются в localstorage, но это уже другая история
const setToArray = (arr, val) => {
let newValue = arr.find((item) => item === val);
if (val !== newValue) {
arr.push(val);
} else if (val === newValue) {
arr = arr.filter((item) => item !== val)
}
};
let data = [1,2]; // в data ссылка на массив #1
fn(data);
function fn(arr) {
arr; // в arr ссылка на массив #1
arr.splice(0, 1); // массив #1 мутируется
arr = arr.filter(); // теперь в arr ссылка на новый массив #2, а в data по-прежнему ссылка на #1
}