Показать сообщение отдельно
  #19 (permalink)  
Старый 26.07.2018, 18:54
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от 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]


Спасибо всем за участие в этой непонятной теме.
В общем я понял что повторяющиеся вычисления в цикле если возможно выносим в условие, а в параметры функции - это уже понты.
Ответить с цитированием