День 13/100 из # 100daysofcode

Вчера был тихий день, не приходилось работать ни над чем, что было приятно, чтобы немного отдохнуть и провести время с семьей.

Вернулся к нему сегодня и использовал один из моих любимых ресурсов, недавно обновленный FreeCodeCamp. С тех пор, как они обновились, стало намного лучше, особенно алгоритмы. Сегодня я работал над промежуточными и начал с «Суммировать все числа в диапазоне». Не плохо.

Мы передадим вам массив из двух чисел. Возвратите сумму этих двух чисел плюс сумму всех чисел между ними. Самое низкое число не всегда будет первым.

На мой взгляд, моей первой мыслью было использовать метод .sort (), чтобы расположить их в порядке возрастания, а затем пройти через массив, добавляя каждое число к переменной результата. Обычно именно здесь я начинаю сомневаться в себе и думаю, что делаю это неправильно. Ну, не знаю, был ли, но решил поступить по-другому.

Вместо этого я создал переменную max с самым большим номером в массиве и переменную min с самым низким номером в массиве. Оттуда я бы перебирал массив, используя эти переменные, добавляя index к переменной результата и возвращая его в конце.

function sumAll(arr) {
const max = Math.max(...arr);
const min = Math.min(...arr);
let result = 0;
for(let i = min; i <= max; i++) {
 result += i;
}
 return result;
}
sumAll([1, 4]);

Не самый сложный алгоритм, но еще один, который помогает мне стать лучшим программистом, которым я могу быть.

Если у вас есть другие мысли / предложения по поводу лучшего ответа, оставьте и ответьте в комментариях ниже.