Creo que el inconveniente esta en que al inicio
for( var i = 1; i < heroes .length; i++) {
alert(heroes[i]);
}
en la variable i debe ponerse de la siguiente manera
for( var i = 0; i < heroes .length; i++) {
alert(heroes[i]);
}
Ya que al ser un arreglo hacemos referencia a posición, empezando desde 0