Работа с объектами?

Подскажите как переделать код так чтобы console.log('object is full of properties') выводилась только тогда, когда в объекте два и более свойства?
const testObject = {
    name: 'Dmitriy',
    age: 99,
    location: 'Monaco'
};
function isEmpty (object) {
    for (let key in object) {
        if (object.hasOwnProperty(key)) {
            return console.log('object is full of properties');
        }
    }
    return console.log('object is empty');
}
isEmpty(testObject);
  • Вопрос задан
  • 99 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
Object.keys(obj) возвращает массив собственных итерируемых строковых свойств. Как раз то, что хочется пересчитать в задаче.
Из названия функции "isEmpty" следует, что она возвращает Булево значение (true / false).

const isEmpty = obj => Object.keys(obj).length <= 2;

Использование:
console.log( isEmpty({ a: "AAA" }) ? 'object is empty' : 'object is full of properties' );
// выведет "object is empty"

console.log( isEmpty({ a: "AAA", b: "BB", c: "C" }) ? 'object is empty' : 'object is full of properties' );
// выведет "object is full of properties"
Ответ написан
chokoroko
@chokoroko Автор вопроса
const testObject = {
    name: 'Dmitriy',
    age: 99,
    location: 'Monaco'
}
const testObject1 = {
    name: 'Dmitriy'
}
const testObject2 = {}
function isEmpty (object) {
    //Создаем цикл для перебора объекта
    for (let key in object) {
        //Создаем переменную которая владеет ключами и значениями объекта
        const meaning = Object.entries(object);
        //Провожу сравнение переменной с числом 2, что количество ключей должно быть 2 или больше, тогда условие выполняется
        if (meaning.length >= 2) {
            // Возвращает в консоль текст если выполнилось условие выше
            return console.log('object is full of properties');
        }
        //Провожу сравнение переменной с числом 1, что количество ключей должно быть ровно 1, тогда условие выполняется
        else if (meaning.length === 1) {
            // Возвращает в консоль текст если выполнилось условие выше
            return console.log('object has one property');
        }
    }
    // Если не выполнилось ни одно условие выше тогда объект является пустым и выводит в консоль данный текст
    return console.log('object is empty');
}
//Выводит заполненный объект
isEmpty(testObject);
//Выводит объект который, имеет только одно свойство
isEmpty(testObject1);
//Выводит пустой объект
isEmpty(testObject2);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы