为了账号安全,请及时绑定邮箱和手机立即绑定

动态处理嵌套对象

动态处理嵌套对象

慕田峪4524236 2021-04-30 18:31:06
我需要计算此嵌套对象中的在线用户数,然后返回总数。我已经尝试过此代码,但我有点迷路let users = {    Alan: {    age: 27,    online: false    },    Jeff: {    age: 32,    online: true    },    Sarah: {    age: 48,    online: false    },    Ryan: {    age: 19,    online: true    }};function countOnline(obj) {    let c = 0;    for (let i in obj) {        for (let j in i) {            if (j.online === true) {                c++;            }        }    }    return c;}它返回0
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

要解决你的原代码,你只需要循环一次,在每一个属性users,不仅是每个属性users 和在每一个嵌套属性以及(你只需要online属性)。您还需要访问obj[i],因为它i是一个属性,而不是一个值:


let users = {

  Alan: {

    age: 27,

    online: false

  },

  Jeff: {

    age: 32,

    online: true

  },

  Sarah: {

    age: 48,

    online: false

  },

  Ryan: {

    age: 19,

    online: true

  }

};


function countOnline(obj) {


  let c = 0;

  for (let i in obj) {

    if (obj[i].online === true) {

      c++;

    }

  }

  return c;

}

console.log(countOnline(users));


查看完整回答
反对 回复 2021-05-13
  • 3 回答
  • 0 关注
  • 203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号