2.3 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
56533eb9ac21ba0edf2244c9 | Acessar propriedades de objetos com variáveis | 1 | https://scrimba.com/c/cnQyKur | 16165 | accessing-object-properties-with-variables |
--description--
Outro uso de notação de colchetes em objetos é para acessar a propriedade a qual está armazenada como o valor de uma variável. Isso pode ser muito útil para iterar através das propriedades de um objeto ou quando acessando uma tabela de pesquisa.
Aqui está um exemplo de usar uma variável para acessar uma propriedade:
const dogs = {
Fido: "Mutt",
Hunter: "Doberman",
Snoopie: "Beagle"
};
const myDog = "Hunter";
const myBreed = dogs[myDog];
console.log(myBreed);
A string Doberman
seria exibida no console.
Observe que não usamos aspas em torno do nome da variável ao usá-la para acessar a propriedade, porque estamos usando o valor da variável, e não o nome.
--instructions--
Defina a variável playerNumber
para ser 16
. Então, use a variável para procurar o nome do jogador e atribuí-la a player
.
--hints--
playerNumber
deve ser um número
assert(typeof playerNumber === 'number');
A variável player
deve ser uma string
assert(typeof player === 'string');
O valor de player
deve ser a string Montana
assert(player === 'Montana');
Você deve usar a notação de colchetes para acessar testObj
assert(/testObj\s*?\[.*?\]/.test(code));
Você não deve usar o valor Montana
diretamente para a variável player
.
assert(!code.match(/player\s*=\s*"|\'\s*Montana\s*"|\'\s*;/gi));
Você deve estar usando a variável playerNumber
na sua notação de colchetes
assert(/testObj\s*?\[\s*playerNumber\s*\]/.test(code));
--seed--
--after-user-code--
if(typeof player !== "undefined"){(function(v){return v;})(player);}
--seed-contents--
// Setup
const testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};
// Only change code below this line
const playerNumber = 42; // Change this line
const player = testObj; // Change this line
--solutions--
const testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};
const playerNumber = 16;
const player = testObj[playerNumber];