--- id: 56533eb9ac21ba0edf2244c9 title: Accessing Object Properties with Variables challengeType: 1 guideUrl: 'https://portuguese.freecodecamp.org/guide/certificates/accessing-objects-properties-with-variables' videoUrl: '' localeTitle: Acessando propriedades de objetos com variáveis --- ## Description
Outro uso da notação de colchetes em objetos é acessar uma propriedade que é armazenada como o valor de uma variável. Isso pode ser muito útil para iterar pelas propriedades de um objeto ou ao acessar uma tabela de pesquisa. Aqui está um exemplo de uso de uma variável para acessar uma propriedade:
var dogs = {
Fido: "Mutt", Hunter: "Doberman", Snoopie: "Beagle"
};
var myDog = "Caçador";
var myBreed = cachorros [myDog];
console.log (myBreed); // "Doberman"
Outra maneira de usar esse conceito é quando o nome da propriedade é coletado dinamicamente durante a execução do programa, da seguinte maneira:
var someObj = {
propName: "John"
};
function propPrefix (str) {
var s = "prop";
return s + str;
}
var someProp = propPrefix ("Nome"); // someProp agora contém o valor 'propName'
console.log (someObj [someProp]); // "John"
Observe que não usamos aspas ao redor do nome da variável ao usá-lo para acessar a propriedade porque estamos usando o valor da variável, não o nome .
## Instructions
Use a variável playerNumber para procurar o player 16 em testObj usando a notação de colchetes. Em seguida, atribua esse nome à variável do player .
## Tests
```yml tests: - text: playerNumber deve ser um número testString: 'assert(typeof playerNumber === "number", "playerNumber should be a number");' - text: O player variável deve ser uma string testString: 'assert(typeof player === "string", "The variable player should be a string");' - text: O valor do player deve ser "Montana" testString: 'assert(player === "Montana", "The value of player should be "Montana"");' - text: Você deve usar a notação de colchetes para acessar o testObj testString: 'assert(/testObj\s*?\[.*?\]/.test(code),"You should use bracket notation to access testObj");' - text: Você não deve atribuir o valor Montana ao player variável diretamente. testString: 'assert(!code.match(/player\s*=\s*"|\"\s*Montana\s*"|\"\s*;/gi),"You should not assign the value Montana to the variable player directly.");' - text: Você deve estar usando a variável playerNumber na sua notação de colchetes testString: 'assert(/testObj\s*?\[\s*playerNumber\s*\]/.test(code),"You should be using the variable playerNumber in your bracket notation");' ```
## Challenge Seed
```js // Setup var testObj = { 12: "Namath", 16: "Montana", 19: "Unitas" }; // Only change code below this line; var playerNumber; // Change this Line var player = testObj; // Change this Line ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```