Как проверить, что Массивы внутри Объекта Пустые - PullRequest
1 голос
/ 06 апреля 2020

Вот мои примеры данных. Я хочу проверить, являются ли массивы внутри объекта пустыми или нет.

{
  collection: Array(0), 
  availability: Array(0), 
  gender: Array(0),
  brand: Array(0),
}

Ниже приведен код, который я сейчас использую (скопированный из какой-либо другой ссылки на стек-поток).

function objectIsEmpty(obj) {
    return Object.keys(obj).every(function(key) {
      var val = obj[key];  

      if (Array.isArray(val) && val.length === 0) {
        return true;
      }
      return false;
    });
}

Над кодом работает нормально. Мой главный вопрос: есть ли более чистый способ проверить все пустые массивы внутри объекта с помощью jQuery кода, как мы используем jQuery .isEmptyObject () для проверки пустого объекта?

Спасибо

Ответы [ 2 ]

6 голосов
/ 06 апреля 2020

ES8 имеет Object.values, что лучше, чем Object.keys, если вы просто хотите значения. Вы также можете напрямую вернуть тест Array.isArray(val) && val.length === 0 и кратко вернуть, если хотите:

const objectIsEmpty = obj => Object.values(obj).every(
    val => Array.isArray(val) && val.length === 0
);
2 голосов
/ 06 апреля 2020

Вам не нужны все возвраты и назначения. например,

function objectIsEmpty(obj) {
    return Object.keys(obj).every(key => 
      Array.isArray(obj[key]) && obj[key].length;
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...