0
votes

Renvoyer la propriété "nom" à l'intérieur d'un objet sans savoir le "nom"

D'accord, c'est probablement une question vraiment stupide, mais je dois demander. J'ai un objet à l'intérieur d'un objet:

user.role


0 commentaires

5 Réponses :


-2
votes

Si vous avez plusieurs rôles, je vous suggère de faire les rôles comme une liste séparée par des virgules, puis divisez à l'aide de la méthode string.split () .

Par exemple: < Pré> xxx

Mais au cas où vous n'aviez qu'un rôle, définissez-le simplement comme une chaîne comme dans xxx


0 commentaires

0
votes

Si tout ce que vous voulez, c'est le nom de la propriété à l'intérieur user.role code>, Object.Keys () est probablement ce que vous voulez. Il revient dans un tableau tous les noms de propriété d'un objet (également appelé "touches").

p>

var user = {
    playlist: "abcd1234",
    role: {
      basic: true,
      admin: false,
      free: true
    }
};

const reduceTrues = (acc, [key, val]) => {
  if (val === true) { acc.push(key); }
  return acc;
}
const trueRoles = Object.entries(user.role).reduce(reduceTrues, []);
console.log(trueRoles);
// [ 'basic', 'free' ]


0 commentaires

0
votes

Utiliser objet.keys () code> méthode comme celui-ci

​​ p>

var user = {
  playlist: "abcd1234",
  role: {
    basic: true,
  }
}
const role = Object.keys(user.role)
console.log(role) // ["basic"]
console.log(user.role[role]) // true


0 commentaires

0
votes
<html>
<script>
var user = {
    playlist: "abcd1234",
    role: {
      basic: true,
      admin: false,
      free: false
    }
};


for(role in user.role){
    if(user.role[role]){
        console.log(role);
    }
}
</script>
</html>
So you are essentially iterating over unknown properties in the user.role object. For every role in user.role, check if it is true with user.role[role] - the [role] is the variable name we are not aware of - then i just console.log if it is true, you can run other logic if you wish.

0 commentaires

0
votes

Si vous souhaitez obtenir les propriétés d'un objet, vous pouvez utiliser une simple utilisation xxx


0 commentaires