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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от kenya , 5 месяцев назад

@eudora 

В JavaScript существует несколько способов проверить объект на пустоту:

  1. Используйте оператор typeof:
1
2
3
if (typeof obj === "undefined" || obj === null) {
  // объект пуст
}


  1. Используйте свойство Object.keys():
1
2
3
if (Object.keys(obj).length === 0) {
  // объект пуст
}


  1. Используйте свойство Object.entries():
1
2
3
if (Object.entries(obj).length === 0) {
  // объект пуст
}


  1. Используйте свойство Object.getOwnPropertyNames():
1
2
3
if (Object.getOwnPropertyNames(obj).length === 0) {
  // объект пуст
}


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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
function isEmpty(obj) {
  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      return false;
    }
  }
  return true;
}

if (isEmpty(obj)) {
  // объект пуст
}