до оно сейчас более-менее читаемо всё
я просто к формату данных возвращаемому (либо строка, либо массив чисел, либо null) - после работы функции нужно будет проверять, что она вернула там
можно было бы, например, просто возвращать массив (возможно пустой) - всё равно скорее всего по этому результату далее будет итерация и какие-то действия с данными, а так нам не нужно запариваться, что же там вернулось (максимум можно .length проверить)
это просто так, мысли скорее, а не замечание
а почитать... чужой код можно, например :)