--- id: 56533eb9ac21ba0edf2244ca title: Using Objects for Lookups challengeType: 1 videoUrl: '' localeTitle: Использование объектов для поиска --- ## Description
Объекты можно рассматривать как хранилище ключей / значений, например словарь. Если у вас есть табличные данные, вы можете использовать объект для «поиска», а не для оператора switch или цепочки if/else . Это наиболее полезно, когда вы знаете, что ваши входные данные ограничены определенным диапазоном. Вот пример простого обратного алфавитного поиска:
var alpha = {
1: "Z",
2: "Y",
3: "X",
4: "W",
...
24: "С",
25: "В",
26: "A"
};
альфа [2]; // "Y"
альфа [24]; // "C"

var value = 2;
альфа [значение]; // "Y"
## Instructions
Преобразуйте оператор switch в объект под названием lookup . Используйте его, чтобы посмотреть val и назначить связанную строку переменной result .
## Tests
```yml tests: - text: phoneticLookup("alpha") должен равняться "Adams" testString: 'assert(phoneticLookup("alpha") === "Adams", "phoneticLookup("alpha") should equal "Adams"");' - text: phoneticLookup("bravo") должен равняться "Boston" testString: 'assert(phoneticLookup("bravo") === "Boston", "phoneticLookup("bravo") should equal "Boston"");' - text: phoneticLookup("charlie") должен равняться "Chicago" testString: 'assert(phoneticLookup("charlie") === "Chicago", "phoneticLookup("charlie") should equal "Chicago"");' - text: phoneticLookup("delta") должен равняться "Denver" testString: 'assert(phoneticLookup("delta") === "Denver", "phoneticLookup("delta") should equal "Denver"");' - text: phoneticLookup("echo") должен равняться "Easy" testString: 'assert(phoneticLookup("echo") === "Easy", "phoneticLookup("echo") should equal "Easy"");' - text: phoneticLookup("foxtrot") должен равняться "Frank" testString: 'assert(phoneticLookup("foxtrot") === "Frank", "phoneticLookup("foxtrot") should equal "Frank"");' - text: phoneticLookup("") должно быть равно undefined testString: 'assert(typeof phoneticLookup("") === "undefined", "phoneticLookup("") should equal undefined");' - text: Вы не должны изменять оператор return testString: 'assert(code.match(/return\sresult;/), "You should not modify the return statement");' - text: 'Вы не должны использовать case , switch или if' testString: 'assert(!/case|switch|if/g.test(code.replace(/([/]{2}.*)|([/][*][^/*]*[*][/])/g,"")), "You should not use case, switch, or if statements"); ' ```
## Challenge Seed
```js // Setup function phoneticLookup(val) { var result = ""; // Only change code below this line switch(val) { case "alpha": result = "Adams"; break; case "bravo": result = "Boston"; break; case "charlie": result = "Chicago"; break; case "delta": result = "Denver"; break; case "echo": result = "Easy"; break; case "foxtrot": result = "Frank"; } // Only change code above this line return result; } // Change this value to test phoneticLookup("charlie"); ```
## Solution
```js // solution required ```