@eudora
В JavaScript существует несколько способов проверить объект на пустоту:
- Используйте оператор typeof:
1
2
3
|
if (typeof obj === "undefined" || obj === null) {
// объект пуст
}
|
- Используйте свойство Object.keys():
1
2
3
|
if (Object.keys(obj).length === 0) {
// объект пуст
}
|
- Используйте свойство Object.entries():
1
2
3
|
if (Object.entries(obj).length === 0) {
// объект пуст
}
|
- Используйте свойство 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)) {
// объект пуст
}
|