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

Рейтинг: 1Ответов: 1Опубликовано: 05.02.2023

Задача:

Напишите функцию isEmpty, которая возвращает true, если у объекта нет свойств (у самого объекта, не у прототипов), иначе возвращает false.

Подскажите, что я делаю не так? По возможности объясните более подробно, как надо сделать и почему это так работает.

Вот моё решение:

function isEmpty(obj) {
     for (item in obj) {
      obj.hasOwnProperty(item)
    }
    return false
}

Вот тесты, которые должен пройти код. Прошёл только последний тест:

✕ должна возвращать true на пустой объект без прототипа (6ms)
✕ должна возвращать true на пустой объект с прототипом (1ms)
✓ должна возвращать false на не пустой объект (2ms)

Ответы

▲ 1Принят

должно сработать

function isEmpty(obj) {
  for (const key in obj) {
    if (obj.hasOwnProperty(key)) {
      return false;
    }
  }
  return true;
}