Сообщение от Dilettante_Pro
|
Это решение автора?
|
Извините, это я напутал - эта функция возвращает только массив чисел в указанном диапазоне с шагом.
Вот полностью решение, там вторая функция (это практические задачки по закреплению пройденного материала):
// Сумма диапазона
function range(start, end, step = start < end ? 1 : -1) {
let array = [];
if (step > 0) {
for (let i = start; i <= end; i += step) array.push(i);
} else {
for (let i = start; i >= end; i += step) array.push(i);
}
return array;
}
function sum(array) {
let total = 0;
for (let value of array) {
total += value;
}
return total;
}
console.log(sum(range(1, 10))); // → 55
console.log(range(5, 2, -1)); // [5, 4, 3, 2]
Спасибо всем за участие в этой непонятной теме.
В общем я понял что повторяющиеся вычисления в цикле если возможно выносим в условие, а в параметры функции - это уже понты.