Роман Сыч

Задачу решил - https://ru.hexlet.io/code_reviews/282316. Смотрю на решение учителя, такое элегантное, две функции, одна отсылает к другой, пока окончательное условие не будет выполнено. Класс! И смотрю на свое решение. Нет, оно конечно работает в заданных проверкой параметрах, но очень громоздкое конечно. Может быть я когда и научусь так же элегантно, но пока как то не получается. Еще надо будет ошибки линтера посмотреть. Ну и собственно вопрос - эмпирически выяснил (решал на repl.it), что подсчет работает в случае, когда складываем до 21 цифры, если 22 и больше, то выдает NaN. Хочется знать почему? Спасибо за ответ!

2 0

Максим Литвинов

Привет. Попробуйте использовать отладочную печать и посмотрите, как выглядит большое число в виде строки. При переводе больших чисел в строку js начинает записывать их в экпоненциальном виде: "1е+21". Затем, при переводе строки "е" обратно в число и возникает этот NaN.

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

1

Роман Сыч

Переделал с учетом идеи из решения учителя. Ошибки линтера так же исправлены). https://ru.hexlet.io/code_reviews/282316

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

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

user-181651d72d969f81 5 дней назад →

Добрый день! Помогите, пожалуйста, разобраться с ошибками: https://ru.hexlet.io/code_reviews/297114 подозре...

Mutekki 18 июля 2020 →

мучался долго. принципиально не хотел смотреть решение учителя. хотел решить всё сам своей головой. затупил...

Mike White 18 июля 2020 →

Добрый день! В JS Bin все прекрасно работает. В окружении на сайте нет. Ерунда какая-то... https://jsbin.co...

Андрей Нургалиев 14 июля 2020 →

Здрасте, а я сделал через рекурсивный процесс, если интересно - посмотрите. https://ru.hexlet.io/code_revie...

Maxim Kalinchuk 14 июля 2020 →

Добрый день! Думал час как это можно реализовать, вот что в итоге получилось. Линтер жалуется на всё. Хотел...