Задать вопрос
@ivandao

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

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

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


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

isEmpty([]);  // ->true
isEmpty({});  // ->true
isEmpty([0]);  // ->false
  • Вопрос задан
  • 4284 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
23 янв. 2025, в 09:18
10000 руб./за проект
23 янв. 2025, в 04:47
10000 руб./за проект