0
votes

Comment vérifier la valeur d'une propriété d'un objet?

Je dois trouver le nombre de fois qu'une propriété a une valeur spécifique dans un objet.

L'objet: xxx

J'ai besoin de trouver le Nombre de combien d'en ligne a la valeur véritable

Qu'est-ce que j'ai essayé jusqu'à présent: xxx

xxx


1 commentaires

Vous vérifiez la mauvaise propriété. si (obj.user == true) { mais vous ne voulez pas vérifier utilisateur , mais pour en ligne


3 Réponses :


2
votes

Je Réduire Code> Le code> objet.values ​​ code> de l'objet, incrémentation de l'accumulateur lorsque Online code> est vrai:

p >

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


1 commentaires

Merci, j'ai aussi essayé obj.user.online mais cela n'a pas fonctionné, ne pensait pas à le mettre entre parenthèses



1
votes

Vous devez accéder à une propriété en ligne de obj code> xxx pré>

lorsque vous faites 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>

Vous pouvez simplement filtrer les valeurs en fonction de la propriété en ligne et de la longueur de la vérification p>

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)


0 commentaires

1
votes

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


0 commentaires