Este bucle while debería haber terminado cuando encontró el *, como parseInt(num[1])=NaN. Pero sigue iterando. ¿Por qué?
var num=["1","*","2","3","4"] var index=4 var eachop=1; while((parseInt(num[index]))!=NaN){ num[index]=eachop; index=index-1; console.log(index); }