--- id: 587d7b7c367417b2b2512b1a title: Access Property Names with Bracket Notation challengeType: 1 videoUrl: '' localeTitle: Acceso a nombres de propiedades con notación de corchete --- ## Description
En el primer desafío de objetos mencionamos el uso de la notación de corchetes como una forma de acceder a los valores de las propiedades mediante la evaluación de una variable. Por ejemplo, imagine que nuestro objeto de foods se está utilizando en un programa para una caja registradora de un supermercado. Tenemos alguna función que configura los foods selectedFood y queremos verificar el objeto de nuestros foods para detectar la presencia de ese alimento. Esto podría parecer:
let selectedFood = getCurrentFood (scannedItem);
let inventario = alimentos [alimentos seleccionados];
Este código evaluará el valor almacenado en la variable selectedFood y devolverá el valor de esa clave en el objeto de foods , o undefined si no está presente. La notación de corchetes es muy útil porque a veces las propiedades de los objetos no se conocen antes del tiempo de ejecución o necesitamos acceder a ellos de una manera más dinámica.
## Instructions
Hemos definido una función, checkInventory , que recibe un elemento escaneado como un argumento. Devuelve el valor actual de la clave scannedItem en el objeto de foods . Puede suponer que solo se proporcionarán claves válidas como argumento para checkInventory .
## Tests
```yml tests: - text: checkInventory es una función testString: 'assert.strictEqual(typeof checkInventory, "function", "checkInventory is a function");' - text: 'El objeto de foods debe tener solo los siguientes pares clave-valor: 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}, "The foods object should have only the following key-value pairs: apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27");' - text: checkInventory("apples") debe devolver 25 testString: 'assert.strictEqual(checkInventory("apples"), 25, "checkInventory("apples") should return 25");' - text: checkInventory("bananas") debe devolver 13 testString: 'assert.strictEqual(checkInventory("bananas"), 13, "checkInventory("bananas") should return 13");' - text: checkInventory("strawberries") debe devolver 27 testString: 'assert.strictEqual(checkInventory("strawberries"), 27, "checkInventory("strawberries") should return 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 ```