Test Foro de elhacker.net SMF 2.1

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 (javascript) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ejercicio 7 string</title>
</head>
<body>
<script type="text/javascript">
var arraynombres=new array(10);
var nombre;
var contador=0;
do{

for(var i=0; i<arraynombres.length;i++){
nombre=prompt("Introduce el nombre");
arraynombres[i]= ""+nombre;
contador++;
if(nombre!="ultimo"){
document.write("Nombre: "+arraynombres[i]+ " y se han leído "+contador+" nombres <br>");
}
}
}
while(nombre!="ultimo");
</script>
</body>
</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 (javascript) [Seleccionar]
var contenedor = []
contenedor[0] = "hola"
contenedor[1] = "mundo"
//se insertan un numero indeterminado de elementos
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
Cita de: 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 (javascript) [Seleccionar]
var contenedor = []
contenedor[0] = "hola"
contenedor[1] = "mundo"
//se insertan un numero indeterminado de elementos
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
var arraynombres=new array(10);
usas
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
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 (javascript) [Seleccionar]

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 (javascript) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ejercicio 7 string</title>
</head>
<body>
<script type="text/javascript">
var arraynombres=[]
var nombre;
var contador=0;
do{

for(var i=0; i<arraynombres.length;i++){
nombre=prompt("Introduce el nombre");
arraynombres.push(nombre);
contador++;
if(nombre!="ultimo"){
document.write("Nombre: "+arraynombres[i]+ " y se han leído "+contador+" nombres <br>");
}
}
}
while(nombre!="ultimo");
</script>
</body>
</html>
Título: Re: Duda con arrays en javascript
Publicado por: EFEX en 12 Octubre 2016, 19:28 PM
Código (javascript) [Seleccionar]

arraynombres.length


arraynombres esta vacio, cuidado con los bucles tambien..