Проблема с углом отсчета -> Как вызвать объект вне функции и присвоить значение объекта переменной внутри функции - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть следующая проблема, и я хочу решить ее, используя особый подход:

// Напишите функцию, которая принимает два числа, одно из которых представляет часовую стрелку на часах, а другое - минутную стрелку.определить угол стрелки часов.если больше 180 °, вернуть противоположный угол.

Я создал объект вне функции.Я хочу, чтобы моя функция имела доступ к парам ключ-значение.

let clock = {

      // min bucket: // on clock  
      0: 12
      5: 1
      10: 2
      15: 3
      20: 4
      25: 5
      30: 6
      35: 7
      40: 8
      45: 9
      50: 10
      55: 11
      60: 12
    }

Вот мой скелет функции.Я не могу изменить аргументы внутри clockAngle.

function clockAngle (hour, minute) {




}

clockAngle(1, 15)

Моя проблема в том, что я понятия не имею (с вышеуказанной функцией), как сделать следующее:

a.Возьмите минутный входной аргумент (15) и используйте объект часов, чтобы установить новую переменную (скажем, clock_num), равную значению, связанному с ключом 15, который в нашем случае равен 3.

Как мне сделатьвыше?

1 Ответ

0 голосов
/ 03 апреля 2019

Если предположить, что clockAngle объявлено в той же области, что и clock (или область внутри него), то clockAngle закрывается за clock, и, таким образом, clock находится в области. Вы можете использовать средство доступа к свойству, используя скобки для доступа к записи в clock:

let clock_num = clock[minute];

Пример в реальном времени:

let clock = {
    // min bucket: // on clock  
    0: 12,
    5: 1,
    10: 2,
    15: 3,
    20: 4,
    25: 5,
    30: 6,
    35: 7,
    40: 8,
    45: 9,
    50: 10,
    55: 11,
    60: 12
}

function clockAngle (hour, minute) {
    let clock_num = clock[minute];
    console.log(`clock_num for minute value ${minute} is ${clock_num}`);
}

clockAngle(1, 15);

Подробнее о замыканиях в ответах на этот вопрос .

Подробнее о доступе к свойствам с переменными в ответы на этот вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...