Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: jamatbar en 5 Octubre 2016, 23:46 pm



Título: Duda con arrays en javascript
Publicado por: jamatbar en 5 Octubre 2016, 23:46 pm
Buenas, quiero un javascript que me pida "x" nombres y los liste luego, el problema es que no sé como crear un array de "x" posiciones, he probado de mil formas y no me sale. Os pongo el código a ver si me podéis ayudar.

Código
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Ejercicio 7 string</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var arraynombres=new array(10);
  10. var nombre;
  11. var contador=0;
  12. do{
  13.  
  14. for(var i=0; i<arraynombres.length;i++){
  15. nombre=prompt("Introduce el nombre");
  16. arraynombres[i]= ""+nombre;
  17. contador++;
  18. if(nombre!="ultimo"){
  19. document.write("Nombre: "+arraynombres[i]+ " y se han leído "+contador+" nombres <br>");
  20. }
  21. }
  22. }
  23. while(nombre!="ultimo");
  24. </script>
  25. </body>
  26. </html>

Gracias de antemano y saludos.


Título: Re: Duda con arrays en javascript
Publicado por: engel lex en 5 Octubre 2016, 23:51 pm
normalmente se declara el array vacio y lo rellenas numerando la posición

es decir


Código
  1. var contenedor = []
  2. contenedor[0] = "hola"
  3. contenedor[1] = "mundo"
  4. //se insertan un numero indeterminado de elementos
  5. contenedor[contenedor.length] = "colocando ultimo elemento"

esa ultima linea verá cual es el lago del array y lo usará como indice (sabemos que el largo es 1 mayor que el indice, asì que funciona para nosotros)


Título: Re: Duda con arrays en javascript
Publicado por: jamatbar en 5 Octubre 2016, 23:55 pm
normalmente se declara el array vacio y lo rellenas numerando la posición

es decir


Código
  1. var contenedor = []
  2. contenedor[0] = "hola"
  3. contenedor[1] = "mundo"
  4. //se insertan un numero indeterminado de elementos
  5. contenedor[contenedor.length] = "colocando ultimo elemento"

esa ultima linea verá cual es el lago del array y lo usará como indice (sabemos que el largo es 1 mayor que el indice, asì que funciona para nosotros)

No sé como implementar eso a mi código, o no te entiendo muy bien lo que quieres decir


Título: Re: Duda con arrays en javascript
Publicado por: engel lex en 6 Octubre 2016, 00:03 am
en lugar de usar
Código:
var arraynombres=new array(10);
usas
Código:
var arraynombres = []

eso declarará un array vacio... luego llenas tanto como quieras...

si quieres que sea fijo de 10 posiciones (no estoy seguro si eso es lo que quieres)

usas
Código:
var arraynombres=new Array(10);

recuerda que el lenguaje es sensible a mayúsculas


Título: Re: Duda con arrays en javascript
Publicado por: EFEX en 6 Octubre 2016, 00:56 am
Y usar .push() agregar nuevos elementos al array

Código
  1. arraynombres.push(nombre);

Existen mas funciones para lidiar con los array, fijate.

https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Array


Título: Re: Duda con arrays en javascript
Publicado por: jamatbar en 6 Octubre 2016, 08:47 am
He intentado lo que me habéis dicho y ni me ejecuta:

Código
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Ejercicio 7 string</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var arraynombres=[]
  10. var nombre;
  11. var contador=0;
  12. do{
  13.  
  14. for(var i=0; i<arraynombres.length;i++){
  15. nombre=prompt("Introduce el nombre");
  16. arraynombres.push(nombre);
  17. contador++;
  18. if(nombre!="ultimo"){
  19. document.write("Nombre: "+arraynombres[i]+ " y se han leído "+contador+" nombres <br>");
  20. }
  21. }
  22. }
  23. while(nombre!="ultimo");
  24. </script>
  25. </body>
  26. </html>


Título: Re: Duda con arrays en javascript
Publicado por: EFEX en 12 Octubre 2016, 19:28 pm
Código
  1. arraynombres.length

arraynombres esta vacio, cuidado con los bucles tambien..