Можно ли упростить выражение?

354
25 января 2017, 00:39
response.data !== undefined && response.data.length > 0

Условие должно проверять:

  1. Существует ли массив "data"?
  2. Есть ли в нем значения?
Answer 1

Проверки на undefined недостаточно. Так там может быть не массив, а любое значение, например null. Вам надо проверить, что это действительно массив и потом проверить размер.

var data = response.data;
if(Object.prototype.toString.call(data) == "[object Array]" && data.length > 0) {
    // data - это массив и в нем есть элементы
}
READ ALSO
Перенос кода из Яндекс Карт в Гугл карты

Перенос кода из Яндекс Карт в Гугл карты

Собрал код для Яндекс карт, но понадобилось все перенести на Гугл картыКак это сделать грамотней не понимаю

480
Помогите исправить JavaScript код

Помогите исправить JavaScript код

Выдаёт ошибку на 9й строке

328
Ошибка при запуске react-native [требует правки]

Ошибка при запуске react-native [требует правки]

Подскажите что это за жестьЛюбой проект стал с этой ошибкой запускаться

344
Странное поведение call() и apply()

Странное поведение call() и apply()

При написании скрипта столкнулся с такой проблемой: В ниже прикрепленном фрагменте упрощенного кода в который я помечу нужный участок, при...

345