web-dev-qa-db-fra.com

Comment puis-je accéder à un objet JavaScript contenant des espaces dans la clé de cet objet?

J'ai un objet JavaScript qui ressemble à ceci:

var myTextOptions = {
  'cartoon': {
     comic: 'Calvin & Hobbes',
     published: '1993'
  },
  'character names': {
    kid: 'Calvin',
    tiger: 'Hobbes'
  }
}

Je peux accéder aux propriétés de cartoon facilement en utilisant myTextOptions.cartoon.comic ou peu importe. Cependant, je n'ai pas réussi à comprendre correctement la syntaxe pour accéder à kid. J'ai essayé ce qui suit sans succès:

myTextOptions.character names.kid
myTextOptions."character names".kid
myTextOptions.character\ names.kid
myTextOptions.'character names'.kid
myTextOptions.["character names"].kid
myTextOptions.character%20names.kid
98
julio

Utilisez la "notation entre crochets" ECMAscripts:

myTextOptions[ 'character names' ].kid;

Vous pouvez utiliser cette notation dans les deux sens, en lecture et en écriture.

Pour plus d'informations, lisez ici:

201
jAndy

Vous pouvez également accéder aux propriétés des objets JavaScript ou les définir à l’aide d’une notation entre crochets (pour plus de détails, voir accessors de propriétés ). Les objets sont parfois appelés tableaux associatifs car chaque propriété est associée à une valeur de chaîne pouvant être utilisée pour y accéder. Ainsi, par exemple, vous pouvez accéder aux propriétés de l'objet myCar comme suit:

myCar['make'] = 'Ford';
myCar['model'] = 'Mustang';
myCar['year'] = 1969;

Pour plus d'informations, lisez la suite à tilisation d'objets JS .

Donc dans votre cas c'est myTextOptions['character names'].kid;

3
Ahmad Awais

Nous pouvons aussi le faire par -

myTextOptions[ 'character names' ]['kid'];

Ceci est utile lorsque nous avons des clés consécutives constituées d’espace.

2
Shubham AK

Dans Google Chrome, si vous allez inspecter un élément puis survolez les ensembles de données du fichier json, une info-bulle apparaît pour chaque ensemble de données et affiche son chemin. Elle vous permet également de copier le chemin dans votre presse-papiers. Juste un FYI.

1
Simon Suh