Files
freeCodeCamp/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation.md
2022-08-19 20:53:29 +02:00

2.7 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b7c367417b2b2512b1a Zugriff auf Eigenschaftsnamen mit der Klammernotation 1 301150 access-property-names-with-bracket-notation

--description--

In der ersten Aufgabe zu Objekten haben wir erwähnt, dass die Klammernotation eine Möglichkeit bietet, auf Eigenschaftswerte zuzugreifen, indem eine Variable ausgewertet wird. Stell dir zum Beispiel vor, unser foods Objekt wird in einem Programm für eine Supermarktkasse verwendet. Wir haben eine Funktion, die selectedFood festlegt und wir möchten überprüfen, ob es im Objekt foods vorhanden ist. Dies könnte so aussehen:

let selectedFood = getCurrentFood(scannedItem);
let inventory = foods[selectedFood];

Dieser Code wird den in der Variable selectedFood gespeicherten Schlüsselwert auswerten und dann den entsprechenden Wert zu diesem Schlüssel aus dem Objekt foods ausgeben oder undefined falls er nicht vorhanden ist. Die Klammernotation ist sehr nützlich, weil Objekteigenschaften vor der Laufzeit manchmal unbekannt sind oder dynamischer auf sie zugegriffen werden muss.

--instructions--

Wir haben eine Funktion namens checkInventory definiert, die ein gescanntes Produkt als ein Argument erhält. Gib den aktuellen Wert zum scannedItem Schlüssel des foods Objekts zurück. Du kannst davon ausgehen, dass nur gültige Schlüssel als ein Argument an checkInventory übergeben werden.

--hints--

checkInventory sollte eine Funktion sein.

assert.strictEqual(typeof checkInventory, 'function');

Das foods Objekt sollte nur die folgenden Schlüssel-Wert-Paare enthalten: apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27.

assert.deepEqual(foods, {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
});

checkInventory("apples") sollte 25 zurückgeben.

assert.strictEqual(checkInventory('apples'), 25);

checkInventory("bananas") sollte 13 zurückgeben.

assert.strictEqual(checkInventory('bananas'), 13);

checkInventory("strawberries") sollte 27 zurückgeben.

assert.strictEqual(checkInventory('strawberries'), 27);

--seed--

--seed-contents--

let foods = {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
};

function checkInventory(scannedItem) {
  // Only change code below this line

  // Only change code above this line
}

console.log(checkInventory("apples"));

--solutions--

let foods = {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
};

function checkInventory(scannedItem) {
  return foods[scannedItem];
}