Показать сообщение отдельно
  #23 (permalink)  
Старый 26.07.2018, 19:15
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Меня логика в объявлении параметров и 2 почти одинаковых цикла подбешивают.
Я бы как-нибудь так лучше сделал (не знаю как условие сократить, а очень хочется):
function range(start, end, step) {
    step = step !== undefined ? step : (start < end ? 1 : -1);
    let array = [];

    for (let i = start; step > 0 && i <= end || step < 0 && i >= end; i += step)
        array.push(i);


    return array;
}
Ответить с цитированием