Javascript: Используйте объект для поиска данных



  • Объясните, каким образом, после создания объекта lookup :
    var lookup ={
    "alpha":"Adams",
    "bravo":"Boston",
    "charlie":"Chicago",
    "delta":"Denver",
    "echo":"Easy",
    "foxtrot":"Frank"
    };
    использовать ее для поиска значения переменной val? Я не понимаю каким образом можно сделать выборку без switch.


  • administrators

    @Orange есть же пример в задании:

    var alpha = {
       1:"Z",
       2:"Y",
       3:"X",
       4:"W",
       ...
       24:"C",
       25:"B",
       26:"A"
    };
    alpha[2]; // "Y"
    alpha[24]; // "C"
    
    var value = 2;
    alpha[value]; // "Y"
    

    Особенно интересен последний вариант, где подставляется переменная value в качестве ключа для поиска значения.



  • @admin Спасибо, разобрался



  • Если честно,я до сих пор не понял как использовать lookup и val(((дайте пожалуйста еще подсказку)


  • administrators

    @zmeyuga смысл в том, чтобы получить доступ к свойству объекта мы указываем значение ключа, а в случае массов - индекс, по которому расположен элемент. Можно указать индекс/ключ непосредственно в скобках, например alpha[2], но далеко не всегда мы сразу знаем индекс/ключ в процессе вычислений, поэтому можно в качестве индекса/ключа указать переменную alpha[value], которая содержит индекс/ключ и это значение переменной будет использовано в качестве ключа/индекса. Например, чтобы вывести элементы массива через один, мы можем написать такой простой цикл:

    a = ['a','b','c','d','e'];
    for (var i=0; i< a.length; i += 2) { 
      console.log( a[i] )
    }
    

    В результате будут выведены только буквы 'a', 'c', 'e'.



  • Спасибо.Разобрался.Сам себя запутал(



  • // Инициализация
    function phoneticLookup(val) {
    var result = "";

    // Измените код только под комментарием.
    var lookup = {
    "alpha": "Adams",
    "bravo": "Boston",
    "charlie": "Chicago",
    "delta": "Denver",
    "echo": "Easy",
    "foxtrot": "Frank"
    }
    var val = "delta";
    lookup[val];
    // Измените код только над комментарием.
    return result;
    }

    // Измените значение аргумента для проверки
    phoneticLookup("delta");

    Что тут не правильно?



Похоже, подключение к Форум DoCode было разорвано, подождите, пока мы пытаемся восстановить соединение.