#javascript #arrays #object #iteration
#javascript #массивы #объект #итерация
Вопрос:
Я хочу отфильтровать этот массив объектов по одному избранному городу, например, по Парижу, но это не работает, я хотел бы получить массив с объектом, который содержит «Париж» в избранных городах, пожалуйста, я попробовал несколько вариантов
const favCity= [{
name: "shaun",
favoriteCities: ["Paris", "London"]
},
{
name: "valerie",
favoriteCities: ["Paris", "NewYork"]
},
{
name: "peter",
favoriteCities: ["London", "Berlin"]
}
]
const res = favCity.filter((ele,i)=>{
return {
name: ele.name,
favoriteCities: ele.favoriteCities.filter(element=>
element === "Paris" ? ele.favoriteCities : [])
}
});
console.log(res)
Комментарии:
1.
ele.favoriteCities.includes("Paris")
?2. Вы не предоставили код, который имеет смысл. Это функция
return
объекта?});
предполагает, что нет.ele.favoriteCities
? Где это?console.log(res)
?res
не определено.
Ответ №1:
let favCity= [{
name: "shaun",
favoriteCities: ["Paris", "London"]
},
{
name: "valerie",
favoriteCities: ["Paris", "NewYork"]
},
{
name: "peter",
favoriteCities: ["London", "Berlin"]
}
]
favCity = favCity.filter(element => element.favoriteCities.includes("Paris"))
console.log(favCity)