#javascript #filter
#javascript #Фильтр
Вопрос:
У меня есть массив объектов с чем-то, называемым animalData
animalData {
type:"cat",
object: SmallAnimal
}
Учитывая список animalData, я хочу найти для первого с именем «cat» и вернуть animalData.object
. Что мне нужно добавить к приведенному ниже заявлению, чтобы получить animalData.object?
this.animals.find((animalData) => animalData.type == "cat");
Комментарии:
1. Если у вас есть массив с несколькими cats, вы также можете сделать
animals.filter(x => x.type === "cat").map(x => x.object)
, который вернет массив всехobject
s для cats
Ответ №1:
find
вернет первый экземпляр animalData
, который соответствует предикату — если вам нужно свойство этого объекта, просто прочитайте его:
const firstCat = this.animals.find((animalData) => animalData.type == "cat").object;
Вполне может быть undefined
, что ваш find
не возвращает результат.