Как сделать проверку по значениям массива в объекта массива?
Всем привет, есть такой код:
const city = [
{
city: ['Уфа', 'Рязань', 'Омск'],
usual: '980',
fast: 'Уточните у оператора'
},
{
city: ['Улан-Удэ', 'Челябинск', 'Астрахань'],
usual: '900',
fast: 'Уточните у оператора'
}
]
Пользователь выбирает в списке свой город. Каждый город находится в определенной зоне, зон много, каждая из них содержит города. В данном случае каждый объект массивы city это зона, а city.city города в ней. Я хочу получить значение usual из той зоны, где находится город, который выбрал пользователь. Пробовал с помощью цикла for. Но выдает ошибку!
for (let i in city) {
for (let v in city[i].city) {
if (secondCity === city[i].city[v]) {
delivery === 'fast' ? pay = city[i].fast : pay = city[i].usual
}
}
}
Что делаю неправильно или как лучше реализовать перебор по этим городам?
Ответы (1 шт):
Автор решения: meine
→ Ссылка
так?
const zones = [
{
cities: ['Уфа', 'Рязань', 'Омск'],
usual: 980
},
{
cities: ['Улан-Удэ', 'Челябинск', 'Астрахань'],
usual: 900
}
];
const city = 'Омск';
zones.forEach((zone) => {
if (zone.cities.includes(city)) {
console.log(zone.usual);
}
});