Paso un array porque la función es recursiva, no hago uso de bucles como en tu ejemplo. Si creara un array en la función, siempre se reemplazaría por otro, a menos que pueda declarárselo de tipo
static
como en PHP, aunque no estoy seguro de que eso se pueda. Por cierto, es más eficiente hacer esto:
Que esto:
Y ten en cuenta que con
!isNaN(comienzo)
no basta para comprobar que se trata de un valor numérico, pues si haces
!isNaN("")
, también obtendrás
true
por respuesta.
Saludos
Edito: Tengo algunas observaciones sobre tu función. Si
paso
es una cadena, siempre inserta el primer valor de la secuencia al array, pero ahí se detiene, incluso si la cadena es un número como "4". Por otro lado, si
paso
es negativo, no se respetan los límites, probé con un rango de 10 a 1 con paso -2 y el último número de la lista fue el 114467.
Bueno, al menos estamos aprendiendo todos aquí.