#javascript #javascript-objects
#javascript #javascript-объекты
Вопрос:
У меня есть объект с 3 свойствами, и свойство каждого объекта имеет объект в качестве своего значения. Я пытаюсь утешить.регистрируйте онлайн-свойство каждого объекта, но я получаю undefined
. Я также пытаюсь подсчитать количество сетевых свойств, для которых установлено значение true, но число не возвращается. Почему я получаю undefined и как мне посчитать, что для сетевых свойств установлено значение true?
function countOnline(usersObj) {
let count = 0;
for (let user in usersObj) {
console.log(user);
console.log(user.online);
}
return count;
}
const users = {
Alan: {
online: false
},
Jeff: {
online: true
},
Sarah: {
online: false
}
}
countOnline(users);
Комментарии:
1. Ваша функция возвращает,
0
потому что вы забыли увеличить своюcount
переменную вfor...in
цикле2.
user
является ли имя свойства не объектом, который оно содержит
Ответ №1:
user
это ключ, а не значение. Кроме того, вам нужно увеличивать count
каждый раз, когда свойство online имеет значение true.
for (let user in usersObj) {
console.log(usersObj[user]);
console.log(userObjs[user].online);
if(userObjs[user].online)
count;
}
Живой пример:
function countOnline(usersObj) {
let count = 0;
for (let user in usersObj) {
console.log(usersObj[user]);
console.log(usersObj[user].online);
if(usersObj[user].online) count;
}
return count;
}
const users = {
Alan: {
online: false
},
Jeff: {
online: true
},
Sarah: {
online: false
}
}
console.log(countOnline(users));
Комментарии:
1. Спасибо. это было все.
2. @larry8989 Нет проблем.