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

385
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
Перенос кода из Яндекс Карт в Гугл карты

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

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

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

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

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

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

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

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

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

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

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

376