--- id: 587d7b7c367417b2b2512b1a title: Access Property Names with Bracket Notation challengeType: 1 forumTopicId: 301150 localeTitle: Доступ к именам объектов с обозначением скобок --- ## Description
В первом вызове объекта мы упоминали использование нотации в виде скобок как способ доступа к значениям свойств с использованием оценки переменной. Например, представьте, что наш foods объект используется в программе для кассового аппарата супермаркета. У нас есть функция , которая устанавливает selectedFood и мы хотим , чтобы проверить наши foods объекта на наличие этой пищи. Это может выглядеть так:
let selectedFood = getCurrentFood (scannedItem);
пусть инвентарь = продукты питания [selectedFood];
Этот код будет оценивать значение, хранящееся в переменной selectedFood и возвращать значение этого ключа в файле foods или undefined если оно отсутствует. Обозначение скобок очень полезно, поскольку иногда свойства объекта неизвестны до выполнения, или нам нужно получить доступ к ним более динамичным способом.
## Instructions
Мы определили функцию checkInventory , которая получает отсканированный элемент в качестве аргумента. Верните текущее значение ключа scannedItem в объект foods . Вы можете предположить, что в качестве аргумента для checkInventory будут предоставлены только действительные ключи.
## Tests
```yml tests: - text: checkInventory is a function testString: assert.strictEqual(typeof checkInventory, 'function'); - text: 'The foods object should have only the following key-value pairs: apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27' testString: 'assert.deepEqual(foods, {apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27});' - text: checkInventory("apples") should return 25 testString: assert.strictEqual(checkInventory('apples'), 25); - text: checkInventory("bananas") should return 13 testString: assert.strictEqual(checkInventory('bananas'), 13); - text: checkInventory("strawberries") should return 27 testString: assert.strictEqual(checkInventory('strawberries'), 27); ```
## Challenge Seed
```js let foods = { apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27 }; // do not change code above this line function checkInventory(scannedItem) { // change code below this line } // change code below this line to test different cases: console.log(checkInventory("apples")); ```
## Solution
```js // solution required let foods = { apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27 }; function checkInventory(scannedItem) { return foods[scannedItem]; } ```