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.
<!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.
normalmente se declara el array vacio y lo rellenas numerando la posición
es decir
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)
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
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
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
Y usar .push() agregar nuevos elementos al array
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
He intentado lo que me habéis dicho y ni me ejecuta:
<!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>
arraynombres.length
arraynombres esta vacio, cuidado con los bucles tambien..