@ivandao

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

Можно, конечно, сначала определить typeof и после уже в зависимости от типа проверять на пустоту, но это некрасиво.
Ищу короткое и изящное решение в одну строку =)

const isEmpty = function (e) {
   var isEmpty = false; // true или false
    ...
   return isEmpty;
}


Примеры работы:

isEmpty([]);  // ->true
isEmpty({});  // ->true
isEmpty([0]);  // ->false
  • Вопрос задан
  • 4179 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
// можно посмотреть количество ключей
const isEmpty = x => !Object.keys(x || {}).length;

// или перебирать свойства, пока не встретится собственное
function isEmpty(x) {
  for (const k in x) if (x.hasOwnProperty(k)) {
    return false;
  }

  return true;
}

isEmpty() // true
isEmpty(null) // true
isEmpty(666) // true
isEmpty('') // true
isEmpty([]) // true
isEmpty({}) // true

isEmpty([ 187 ]) // false
isEmpty({ xxx: 69 }) // false
isEmpty('hello, world!!') // false
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы