Почему this.state.items.filter удаляет элемент из массива - PullRequest
0 голосов
/ 13 июня 2019

Я знаю, как удалить элемент из массива реагировать, но я не понимаю логику, почему это работает.

removeItem(id) => {
   items:[...this.state.items.filter(item => item.id !== id)]
}

Все, что я понимаю, это то, что если item.id !== id удалить предмет. Но как это работает? Почему он удаляет элемент из массива.

1 Ответ

1 голос
/ 13 июня 2019

Вот пояснение, выполняются следующие операции

  1. Фильтрация массива по некоторым условиям

Рассмотрим следующий пример

// Defining array
const items = [{"id" : 1},{"id" : 2}, {"id" : 3} ]

//Eliminating id 2
const filteredArray = items.filter(item => item.id !== 2)

console.log(filteredArray)

В приведенном выше примере, что делает фильтр, он возвращает массив, исключая все, что упомянуто в условии. В нашем случае это item.id !== id, поэтому объект с Id 2 пропускается.

Как только это будет сделано, элементы теперь будут содержать обновленный массив объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...