@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 |
Оба этих способа работают в большинстве современных браузеров и некоторых других окружениях, но они не работают в старых браузерах
@catherine_wintheiser
Объект можно проверить на пустоту с помощью следующей конструкции:
1
|
Object.keys(obj).length === 0 |
где obj
- это проверяемый объект. Если результат равен true
, значит объект пустой.