freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../basic-javascript/accessing-object-properties...

3.5 KiB

id title challengeType videoUrl localeTitle
56533eb9ac21ba0edf2244c9 Accessing Object Properties with Variables 1 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

tests:
  - text: <code>playerNumber</code> deve ser um número
    testString: 'assert(typeof playerNumber === "number", "<code>playerNumber</code> should be a number");'
  - text: O <code>player</code> variável deve ser uma string
    testString: 'assert(typeof player === "string", "The variable <code>player</code> should be a string");'
  - text: O valor do <code>player</code> deve ser &quot;Montana&quot;
    testString: 'assert(player === "Montana", "The value of <code>player</code> should be "Montana"");'
  - text: Você deve usar a notação de colchetes para acessar o <code>testObj</code>
    testString: 'assert(/testObj\s*?\[.*?\]/.test(code),"You should use bracket notation to access <code>testObj</code>");'
  - text: Você não deve atribuir o valor <code>Montana</code> ao <code>player</code> variável diretamente.
    testString: 'assert(!code.match(/player\s*=\s*"|\"\s*Montana\s*"|\"\s*;/gi),"You should not assign the value <code>Montana</code> to the variable <code>player</code> directly.");'
  - text: Você deve estar usando a variável <code>playerNumber</code> na sua notação de colchetes
    testString: 'assert(/testObj\s*?\[\s*playerNumber\s*\]/.test(code),"You should be using the variable <code>playerNumber</code> in your bracket notation");'

Challenge Seed

// 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

console.info('after the test');

Solution

// solution required