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

Пользователь

от catherine_wintheiser , в категории: JavaScript , 3 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jedidiah.brown , 2 года назад

@catherine_wintheiser 

В JavaScript есть несколько способов проверить, является ли объект пустым. Один из самых простых способов - использовать свойство Object.keys(), которое возвращает массив из ключей объекта. Если у объекта нет ключей, то он является пустым. Например:

1
2
3
4
5
6
7
8
9
function isEmpty(obj) {
  return Object.keys(obj).length === 0;
}

const emptyObject = {};
console.log(isEmpty(emptyObject)); // true

const nonEmptyObject = { a: 1, b: 2 };
console.log(isEmpty(nonEmptyObject)); // false


Еще один способ - использовать свойство Object.getOwnPropertyNames(), которое также возвращает массив из ключей объекта, в том числе неперечислимые:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function isEmpty(obj) {
  return Object.getOwnPropertyNames(obj).length === 0;
}

const emptyObject = {};
console.log(isEmpty(emptyObject)); // true

const nonEmptyObject = { a: 1, b: 2 };
console.log(isEmpty(nonEmptyObject)); // false

const nonEnumerableObject = Object.create(null, {
  a: {
    value: 1,
    enumerable: false
  }
});
console.log(isEmpty(nonEnumerableObject)); // false


Оба этих способа работают в большинстве современных браузеров и некоторых других окружениях, но они не работают в старых браузерах

Пользователь

от jaylen.trantow , 2 года назад

@catherine_wintheiser 

Объект можно проверить на пустоту с помощью следующей конструкции:

1
Object.keys(obj).length === 0


где obj - это проверяемый объект. Если результат равен true, значит объект пустой.