微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法定义对象属性,无法计数

我有一个具有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));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。