Files
freeCodeCamp/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables.md
2022-08-19 20:53:29 +02:00

2.4 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244c9 Zugriff auf Objekteigenschaften mit Variablen 1 https://scrimba.com/c/cnQyKur 16165 accessing-object-properties-with-variables

--description--

Eine weitere Verwendung der Klammerschreibweise für Objekte ist der Zugriff auf eine Eigenschaft, die als Wert einer Variablen gespeichert ist. Das kann sehr nützlich sein, um die Eigenschaften eines Objekts zu durchlaufen oder auf eine Umsetzungstabelle (lookup table) zuzugreifen.

Hier ist ein Beispiel für die Verwendung einer Variablen, um auf eine Eigenschaft zuzugreifen:

const dogs = {
  Fido: "Mutt",
  Hunter: "Doberman",
  Snoopie: "Beagle"
};

const myDog = "Hunter";
const myBreed = dogs[myDog];
console.log(myBreed);

Der String Doberman würde in der Konsole angezeigt werden.

Beachte, dass wir die Variablenbezeichnungen nicht mit Anführungszeichen versehen, wenn wir auf die Eigenschaft zugreifen, da wir den Wert der Variablen verwenden, nicht die Bezeichnungen.

--instructions--

Setze die Variable playerNumber auf 16. Benutze dann die Variable, um den Namen des Spielers abzufragen und ihn player zuzuweisen.

--hints--

playerNumber sollte eine Zahl sein

assert(typeof playerNumber === 'number');

Die Variable player sollte ein String sein

assert(typeof player === 'string');

Der Wert von player sollte der String Montana sein

assert(player === 'Montana');

Du solltest die Klammerschreibweise verwenden, um auf testObj zuzugreifen

assert(/testObj\s*?\[.*?\]/.test(code));

Du solltest den Wert Montana nicht direkt der Variable player zuweisen.

assert(!code.match(/player\s*=\s*"|\'\s*Montana\s*"|\'\s*;/gi));

Du solltest die Variable playerNumber in deiner Klammerschreibweise verwenden

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];