delete
- это встроенный оператор JavaScript, который "удаляет свойство из объекта" (см. Документацию из сообщества Mozilla ).
Re:
Я понимаю, что другим способом решения этой проблемы было бы использование метода фильтра для получения правильных ha sh элементов
You ' d используйте filter
для массива, но ваш пример решил сохранить TODO в объекте, где каждый TODO является значением другого свойства этого объекта (1) , следовательно необходимость «удаления свойства».
(1) Это использование объекта в качестве «карты» структуры данных - некоторые мысли о такой практике можно найти в документация для выделенного Map
, введенная в JavaScript позже. В общем, карты используются потому, что они помогают быстрее получить значение по идентификатору, чем из структуры данных списка, такой как массив, потому что карты содержат индексы, которые ускоряют поиск по ключу. Здесь, в Redux, этот подход особенно распространен, потому что Redux рекомендует , чтобы "каждый объект хранился один раз, с ключом по идентификатору, а другие объекты, которые ссылаются на него, должны хранить только идентификатор, а не копия всего объекта ".