Как сделать проверку по значениям массива в объекта массива?

Всем привет, есть такой код:

        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);
  }
});

→ Ссылка