Cita:
Iniciado por evoarte
pero que colocará un 'undefined' despues de cada iteracción no lo entiendo,
Igual que se saltaba el 0, ese código se salta siempre un elemento.
Haces:
Código javascript
:
Ver originalmensajes[mensajes.length + 1]="...";
Por cada validación estás cogiendo la longitud y añadiendo no en ese elemento, sino en ese más uno. length te devuelve la longitud, no el último elemento.
Mejor explicado:
Si tienes un array como:
Y haces:
te devuelve 3, pero los elementos son realmente mensajes[0], mensajes[1] y mensajes[2]. Así que si quieres añadir uno más al final, tienes que hacer:
Código javascript
:
Ver originalmensajes[mensajes.length]="d";
(que lo que hace es:
)
Porque si haces:
Código javascript
:
Ver originalmensajes[mensajes.length + 1]="d";
Entonces lo que estás haciendo es dejar el elemento mensajes[3] sin definir y pasando directamente al mensajes[4]. A la vez siguiente te saltarás el mensajes[5] y escribirás en mensajes[6].
Por eso estás metiendo undefined en cada iteración.