无法定义对象属性,无法计数

问题描述

我有一个具有3个属性的对象,每个对象的属性都有一个对象作为其值。我正在尝试console.log每个对象的联机属性,但得到undefined。我也尝试计算设置为true的在线属性数量,但不返回任何数字。为什么我未定义,以及如何将在线属性设置为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);

解决方法

user是键,而不是值。此外,每次在线属性为true时,您都需要增加count

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));