Там простая формула. Перемешивать ничего не надо. Просто чайку сладкого выпейте и еще раз посмотрите. По коду сказал бы: а) открывающая скобка должна быть на той строке, к сущности которой относится; закрывающая наоборот и вровень с отступом; б) одна операция - одна строка; где надо строим ступеньки; в) бессмысленные комментарии типа этого: "обычный рандом который выдает числа из указанного промежутка", там по названию и параметрам все понятно, а вот включая ли концы или нет - непонятно; г) return всегда должен быть в конце функции, там его ищут обычно; д) пробелы не забывать; е) сверху переменные, далее функции, далее обычная последовательность выполнения; ж) оборачивайте все в анонимную функцию, глобальную область засорять не рекомендуют; з) null мне не нравиться, используйте undefined - более понятнее)) и) придерживайтесь одного стиля оформления кода, желательно самого распространенного для языка на котором пишите.
Я практикующий junior, вот такие моменты выделил.