Я работаю с JSON и хотел бы перебрать массив и просто вернуть значение, которое я ищу. Например, если у меня есть массив объектов, и каждый из этих объектов имеет информацию для конкретной книги, как я могу перебирать каждый объект в этом массиве и возвращать только тот, который соответствует?Итерации по массиву и возврат только согласованных значений?
Я попытался использовать карту, например, так (но не работает так, как мне это нужно):
// books is from my imported JSON object
const favoriteBook = books.map((book) => {
if (book.title == this.props.params.id) {
return book;
}
});
console.log(favoriteBook)
Однако, когда я console.log (favoriteBook), я вижу массив с одним возвращаемым объектом, который соответствует, а также «undefined» для всех тех, которые не совпадают. Как я могу остановить его, как только он найдет совпадение и просто вернет его? Интересно, как это сделать с помощью «фильтра», если это возможно (?) Или аналогичным образом.
Спасибо.
Вы ищете метод '.filter()', а не '.map()' – Pointy
Также значение 'this' в этом обратном вызове будет не таким, как * вне * обратного вызова. – Pointy