Артем Ненько

Очень сложное для понимания решение учителя. Моё решение мне кажется более понятным https://ru.hexlet.io/code_reviews/269703 Пытаюсь понять как работает решение учителя. Не понятна работа этой функции: let lowestDistance = getDistance(currentPoint, nearestPoint);

"Высчитываем дистанцию с помощью функции getDistance между переданными координатами и полученными на предыдущем шаге." - цитата одного из ответов.

Объясните пожалуйста каким образом туда попадают координаты полученные на предыдущем шаге? Моя голова думает что эта функция всегда высчитывает дистанцию между переданными координатами и координатами первого элемента locations.

4 0

Сергей Соловьев

Здравствуйте, Артем. Как в функцию getDistance по очереди попадают координаты всех элементов locations. Как вы правильно заметили, функция getDistance, когда ее результат обработки впервые присваивается переменной lowestDistance перед циклом for, действительно сравнивает тестовые координаты с координатами первого элемента 'Park'. Строка кода из вашего вопроса - это первое присвоение значения переменной lowestDistance. Далее по коду, в цикле for функция getDistance (созданная выше //BEGIN) снова вызывается уже для вычисления констант distance и на этот раз вторым параметром ей передаются координаты всех последующих элементов locations (Sea и Museum), предварительно декструктурируемые в константы point.

1

Сергей Мелодин

Артем Ненько, приветствую.

Ваше решение почти идентично учительскому, вы так же используете функцию getDistance, возможно, для большего понимания стоит пройтись по решению с отладочной печатью, чтобы видеть результат каждого шага на экране.

Также, если вам помог ответ участника сообщества, поблагодарите его, отметив как решение ;)

1

Артем Ненько

Сергей Соловьев, спасибо, понял.

1

Артем Ненько

Сергей Мелодин, спасибо, действительно попробую пройтись с отладочной печатью.

0

Похожие вопросы

Илья Каверин 5 дней назад →

https://ru.hexlet.io/code_reviews/272734 Привет! не могу пройти первую проверку, вместо null, вернуло undef...

Константин Ширяев 6 дней назад →

Почему в решении учителя вторым аргументом функции используется 'currentPoint', а не 'point', как указано ...

Егор Бродунов 24 мая 2020 →

Здравствуйте, не совсем понимаю, как передать в функцию все эти 3 локации, и чтобы я дальше мог работать с ...

Александр Чадаев 19 мая 2020 →

Столкнулся с проблемой, при деструктуризации выдает ошибку: TypeError: nearestLocation is not iterable. htt...

Виктор Воронков 17 мая 2020 →

Добрый день. Смотрю на код учителя и вообще в нём ничего не понимаю. Опишите пожалуйста логику того что про...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →