Как проверить, является ли массив пустым, используя условие if? - PullRequest
0 голосов
/ 04 января 2019

отклик возвращается пустым [] для this.rxInfos, но ниже, если условие никогда не выполнялось, есть идеи, чего здесь не хватает?

main.js

if (!Array.isArray(this.rxInfos) && this.rxInfos.length === 0) {
            return this.errorHandler(request, 'no rx found in the cache');
        }

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Просто удали сначала!

 if (this.rxInfos !== undefined && Array.isArray(this.rxInfos) && this.rxInfos.length === 0) { return this.errorHandler(request, 'no rx found in the cache'); }
0 голосов
/ 04 января 2019

Вы можете проверить не массив или, если нет длины.

Первая часть

!Array.isArray(this.rxInfos)

равно true, если значение this.rxInfos не является массивом.

Логическое ИЛИ || позволяет завершить проверку, что важно, если первый операнд это truey . Если нет, то массив дается и вторая часть

!this.rxInfos.length

с длиной и их логическим НЕ ! оценивается, и это означает, что если длина равна нулю, последняя часть является истинной или если длина имеет значение, отличное от нуля, часть возвращает false.

if (!Array.isArray(this.rxInfos) || !this.rxInfos.length) {
    return this.errorHandler(request, 'no rx found in the cache');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...