Je dois trouver le nombre de fois qu'une propriété a une valeur spécifique dans un objet.
L'objet: p> J'ai besoin de trouver le Nombre de combien d'en ligne a la valeur véritable p> Qu'est-ce que j'ai essayé jusqu'à présent: p> p>
3 Réponses :
Je p > Réduire Code> Le code> objet.values code> de l'objet, incrémentation de l'accumulateur lorsque Online code> est vrai: let users = {
Alan: {
age: 27,
online: false
},
Jeff: {
age: 32,
online: true
},
Ryan: {
age: 19,
online: true
}
};
function countOnline(obj) {
let count = 0;
for (let user in obj) {
if (obj[user].online === true) {
count++;
}
}
return count;
}
console.log(countOnline(users));
Merci, j'ai aussi essayé obj.user.online mais cela n'a pas fonctionné, ne pensait pas à le mettre entre parenthèses
Vous devez accéder à une propriété en ligne de lorsque vous faites Vous pouvez simplement filtrer les valeurs en fonction de la propriété en ligne et de la longueur de la vérification p> p> obj code> obj.user code> il essaie de trouver utilisateur code> propriété sur obj code> dont la valeur sera non définie code> car nous n'avons pas de propriété nommée utilisateur code> sur obj Code> P> let users = {Alan: {age: 27,online: false},Jeff: {age: 32,online: true},Ryan: {age: 19,online: true}};
let count = Object.values(users)
.filter(({ online }) => online)
.length
console.log(count)
let users = {
Alan: {
age: 27,
online: false
},
Jeff: {
age: 32,
online: true
},
Ryan: {
age: 19,
online: true
}
};
let onlineUser = Object.keys(users).filter(item => users[item].online).reduce((obj, key) => {
obj[key] = users[key];
return obj;
}, {});
console.log("count:", Object.keys(onlineUser).length);
console.log("onlineUser:", onlineUser);
Vous vérifiez la mauvaise propriété.
si (obj.user == true) { code> mais vous ne voulez pas vérifierutilisateur code>, mais pouren ligne code>