我需要计算此嵌套对象中的在线用户数,然后返回总数。我已经尝试过此代码,但我有点迷路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));
添加回答
举报
0/150
提交
取消
