Причина этого в том, что Array.prototype.filter()
возвращает новый отфильтрованный массив в конце. Прочитайте из документации:
Метод filter()
создает новый массив со всеми элементами, которые проходят тест, реализованный предоставленной функцией.
Во втором примере вы передаем его setToDoList
, в то время как в первом код просто вызывает его, но не присваивает переменной.
Обратите внимание на следующее:
const toDoList = [{id: 1, name: 'first'}, {id: 2, name: 'second'}];
const id = 1;
toDoList.filter(element => element.id !== id);
console.log('original toDoList:', toDoList);
const result = toDoList.filter(element => element.id !== id);
console.log('filtered result:', result);
Надеюсь, это поможет!