Задать вопрос
@sinevik

Как остановить поиск в глубине массива?

Есть код

{
city: places[0].address_components[3].long_name
                ? places[0].address_components[3].long_name : null,

}


Вопрос заключается в следующем. Данные которые я получаю, иногда бывают очень разные. К примеру если я использую этот код, то в некоторых случаях я получаю Error:

city: places[0].address_components[3].long_name
? places[0].address_components[3].long_name : null,

TypeError: Cannot read property '3' of undefined


Как проще всего в JS решить это проблему?
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 2
ellenripley4
@ellenripley4
Любитель тяжелой музыки и фронтэнда
Если данные могут быть разные, то лучше не искать по числовому индексу, иначе обязательно выйдете за границы массива, как в вашем примере. Нужно пробегаться по данным другими способами. Если пришлете пример данных, можно придумать конкретную реализацию. А так гуглите по запросам "iterating through JS object", "iterating throught JS Array", методы forEach, filter, map
Ответ написан
Комментировать
JRK_DV
@JRK_DV
Рецепты https://codepen.io/jrkdv/full/LKLXdq
не допускать этот некоторый случай или отловить и обработать исключение try...catch
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы