Supposons que vous avez un objet javascript comme ceci:Comment puis-je accéder aux propriétés d'un objet javascript si je ne connais pas les noms?
var data = { foo: 'bar', baz: 'quux' };
Vous pouvez accéder aux propriétés par le nom de la propriété:
var foo = data.foo;
var baz = data["baz"];
Mais est-il possible d'obtenir ces valeurs si vous ne connaissez pas la nom des propriétés? Est-ce que la nature désordonnée de ces propriétés rend impossible de les différencier?
Dans mon cas, je pense spécifiquement à une situation où une fonction doit accepter une série de paires nom-valeur, mais les noms des propriétés peuvent changer. Mes pensées sur la façon de faire cela jusqu'à présent est de passer les noms des propriétés à la fonction avec les données, mais cela ressemble à un hack. Je préférerais faire cela avec introspection si possible.
Maintenant, cela répond effectivement à la question, bien fait @Adam Lassek, très bien fait. –
Il est trompeur d'utiliser 'nom' et 'valeur' comme clés d'objet. Cette fonction renvoie uniquement les clés d'une liste, pas les valeurs. {name1: 'value1', name2: 'value2'} évitera la confusion pour les débutants. Object.keys (données); // ['name1', 'name2'] –
@JamesNicholson Je suis d'accord, édité pour être moins déroutant. –