Foros del Web » Programando para Internet » Javascript »

Creacion de arrays

Estas en el tema de Creacion de arrays en el foro de Javascript en Foros del Web. Hola quiero hacer un formulario que tenga un input number y otras opciones de radio-- quisiera saber como se hce para crear un array y ...
  #1 (permalink)  
Antiguo 22/10/2010, 09:34
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Exclamación Creacion de arrays

Hola quiero hacer un formulario que tenga un input number y otras opciones de radio-- quisiera saber como se hce para crear un array y que a medida que se vaya poniendo en el input(edad) y aprete el boton "cargar" se vaya agregando en la posicion 0,1,2,3-- del array x..?
el formulario consta de un input en donde ingreso una edad y pongo cargar y que se guarde en memoria.. y al apretar el boton terminar muestre el total de encuestados y otras cosas mas..
quiero saber como se hace para crear posiciones y agregar la info de un input en un array.
  #2 (permalink)  
Antiguo 22/10/2010, 09:54
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Hola,
El array en javascript es sencillo de crear.

Código Javascript:
Ver original
  1. var miarray = new Array();

Para verificar el length (cantidad en este caso) del array, es simplemente hacer:

Código Javascript:
Ver original
  1. alert(miarray.length);

Para ir agregandole registros al array, por ejemplo funciona de ésta forma:

Código Javascript:
Ver original
  1. miarray[0] = "primer registro";
  2. miarray[1] = "segundo registro";

Y así sucesivamente. De todas las formas, podés buscar en internet que hay mucha información con respecto al tema.

Saludos.
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 22/10/2010, 12:45
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Creacion de arrays

Aparte de si necesitas ese array para algo importante es un poco inseguro hacerlo con JS, supongo que después necesitarás trabajar con él en el servidor, así que tendrás que arreglártelas para enviarlo cuando necesites. Aparte de eso, es bastante fácil hacer lo que quieres:
Código Javascript:
Ver original
  1. var valores=[];
  2. function carga(id){
  3.  var el=document.getElementById(id);
  4.  isNaN(el.value)?void(0):valores.push(el.value);
  5.  //esta línea evita que si el valor no es un
  6.  //número se registre en el array como NaN
  7. }
Código HTML:
Ver original
  1. <input type='text' id='txt' />
  2. <input type='button' value='Cargar' onclick='carga("txt");' />
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 22/10/2010, 16:28
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Creacion de arrays

leete esto y una vez que hayas entendido las distintas maneras de crear un array, lee este otro que trata sobre las propiedades y métodos que se pueden usar con los arrays
  #5 (permalink)  
Antiguo 26/10/2010, 07:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

Gracias por las respuestas. pero en este caso digamos que no se sabe la cantidad de personas que van a ingresar la edad osea creo que habria que hacer un bucle que agregue posiciones al array..y que en esa posicion ponga la edad ingresada en el momento, pero no se bien como hacerlo :S:S
Estoy estudiando analista de sistemas. y la verdad me gusta programacion pero esto me tiene loca y quiero aprobar :S:S :(
  #6 (permalink)  
Antiguo 26/10/2010, 08:17
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Hola,

Para que se vayan almacenando los datos en tu array, será cuestion de detectar el length de tu array y sumarle 1, para que de esa forma se vaya almacenando automáticamente.

Por ejemplo, este sería el funcionamiento del onClick del boton cargar.

Código Javascript:
Ver original
  1. var myarray = new Array();
  2. function guardo(){
  3.     var myindex = parseInt(myarray.length,10);
  4.     var increment = 0;
  5.     if (myindex != 0){
  6.         increment = 1;
  7.     }
  8.     myarray[(myindex + increment)] = document.getElementById("el_identificador").value;
  9. }

Fijate si te das una idea para poder realizarlo. En el document.getElementById("el_identificador").value, es así si es un input.

Si no entendés, tratá de mostrar un poco el codigo y vemos si podemos hacer algo para darte una mano.

Saludos.
__________________
Freelance - Aplicaciones Web
  #7 (permalink)  
Antiguo 26/10/2010, 08:22
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Creacion de arrays

Ahí increment siempre va a ser 0, no tiene sentido sumarlo. Revisa el método push() de mi ejemplo.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #8 (permalink)  
Antiguo 26/10/2010, 08:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

-no se para que sirve esto:
document.getElementById("el_identificador").value
- para que va el 10 en esta linea?
-

if (myindex != 0) // osea si cantidad de objetos en el array es diferente de 0 incremeta uno.. y sino? else?
{
increment = 1;
}
  #9 (permalink)  
Antiguo 26/10/2010, 08:29
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Cita:
Iniciado por _cronos2 Ver Mensaje
Ahí increment siempre va a ser 0, no tiene sentido sumarlo. Revisa el método push() de mi ejemplo.
Saludos (:
Hola,
No, no puede ser siempre 0. Porque la primera vez si lo va a ser, porque debe ser así. En la primera vez va a ser myarray[0] = "el_valor"; y el length en la próxima te va a devolver 1, entonces va a ser algo correlativo.
Pero de todas las formas, está mal hecho porque devuelve un indice que no debe.

Código Javascript:
Ver original
  1. var myarray = new Array();
  2. function guardo(){
  3.     var myindex = parseInt(myarray.length,10); //primera vez 0, .. 1.. 2... etc..
  4.     myarray[myindex] = document.getElementById("el_identificador").value;
  5. }

De ésta forma si funcionaría, ya que en el caso anterior, te iba agregar mal los índices del array e iba a ser para problemas.

Saludos.
__________________
Freelance - Aplicaciones Web
  #10 (permalink)  
Antiguo 26/10/2010, 08:29
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

perdon me falto la linea del 10
var myindex = parseInt(myarray.length,10)
  #11 (permalink)  
Antiguo 26/10/2010, 08:32
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

pero osea no habria que hacer un bucle.??
osea que primero identifique la cantidad de posiciones que hay. y desues que haga un bucle ue agregue y guarde una posicion mas??
  #12 (permalink)  
Antiguo 26/10/2010, 08:32
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Cita:
Iniciado por choquii Ver Mensaje
-no se para que sirve esto:
document.getElementById("el_identificador").value
- para que va el 10 en esta linea?
-

if (myindex != 0) // osea si cantidad de objetos en el array es diferente de 0 incremeta uno.. y sino? else?
{
increment = 1;
}
Te comento, pero probá con el ultimo script que te adjunté.

document.getElementById("el_identificador").value
Esto es para recibir el valor del input, por ejemplo:
<input type='text' id='el_identificador'>
Entonces cuando hacés el .value vas a recibir el valor que tiene ese input.El 10 al que hacés referencia es para pasarlo a Enteros, buscá en el manual como funciona el parseInt.

Con respecto al else, no lo puse porque ya estaba declarado arriba en 0, entonces ese valor se modificacaría si entra en el if, sino pasa de largo y queda con ese valor.Fijate si con el codigo que arreglé te puede llegar a funcionar, sino mostrá el codigo para que te lo podamos revisar.

Saludos!
__________________
Freelance - Aplicaciones Web
  #13 (permalink)  
Antiguo 26/10/2010, 08:38
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

es que estoy viendo como hacer el codigo .. no lo hice solo tengo lo que es el codigo html. y ensima el profesor quiere que hagamos el diagrama de flujo y en el parcial nos va a tomar interface,diasgrama de flujo y codigo javascript y html en hoja de papel! sin pc me muero estoy al horno!
  #14 (permalink)  
Antiguo 26/10/2010, 08:46
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Bueno,
Tratá de crear el codigo, fijate como lo querés hacer. Porque hay varias formas para hacerlo.
De ultima planteá bien el proyecto, como debe hacer, y vemos que alternativas tenés para conseguir lo que necesitás.

Porque si son una X cantidad de inputs es sencillo hacerlo, ahora si no sabés cuantos son, vas a tener que diseñar un logaritmo universal, sin importar si es 1 o 200 inputs. Y el código en javascript es parecido al que te acabo de ingresar.

Saludos.
__________________
Freelance - Aplicaciones Web
  #15 (permalink)  
Antiguo 26/10/2010, 08:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

y otra cosa,, emm.. si se pone esta linea:
var myindex = parseInt(myarray.length,10)
y la edad ingresada es
10
20
30--
etc..
siempre va a haber dos elementos, 0 y 1.
osea que la primera vez que va a hacer.. me estoy haciendo un lio
  #16 (permalink)  
Antiguo 26/10/2010, 08:52
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Si se envia al array estos datos, equivale lo siguiente:

el length del myarray inicializa obviamente en 0.
10 = el length del myarray queda en 1, pero el indice del array es [0]
20 = el length del myarray queda en 2, pero el indice del array es [1]
30-- = el length del myarray queda en 3, pero el indice del array es [2]
y así sucesivamente.

Entonces ya teniendo el length, es el indice del array para el siguiente.
Se entiende?
__________________
Freelance - Aplicaciones Web
  #17 (permalink)  
Antiguo 26/10/2010, 09:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

este es mi codigo:
Cita:
Código:
<html>
	<head><title>Encuesta</title>
		<script>
	
			var myarray = new Array();

			function carga()
			{
				var myindex = parseInt(myarray.length,10); //primera vez 0, .. 1.. 2... etc..
				myarray[myindex] = document.getElementById("edadnum").value;	
				
			}	
			
		</script>
	
	</head>
	<body>
		<h1><b><i><u>Encuesta Callejera</u></i></b></h1>
			<form name="f">
				Edad:<br><input type="number" maxlength="2" name="Edadnum">
				<br>
				<br>
				Genero:<br><input type="radio" name="sexo" value="Masculino" checked> Masculino<br>
				<input type="radio" name="sexo" value="Femenino"> Femenino	       	
				<br>
				<br>
				Prefiere hacer las compras:<br>
							<input type="radio" name="pref" value="pref1" checked> En comercios de su barrio
						<br>
							<input type="radio" name="pref" value="pref2"> En comercios del centro
						<br>
							<input type="radio" name="pref" value="pref3"> En Shoppings y supermercados
						<br>
						<br>
							<input type="button" value="cargar encuesta" name="cargar" onclick=carga()>
						<br>
						<br>
							<input type="button" value="Mostrar estadísticas" name="mostrar" onclick=mostrar()>
						<br>
						<br>
			</form>
	</body>
</html>
  #18 (permalink)  
Antiguo 26/10/2010, 09:12
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Código HTML:
Ver original
  1.     <head><title>Encuesta</title>
  2.         <script language="javascript" type="text/javascript">
  3.             function showEstadistics(e){
  4.                 for ( var n = 0; n < myarray.length; n++ ){
  5.                    document.write("Edad: " + myarray[n] + "<BR/>");
  6.                 }
  7.             }
  8.  
  9.             var myarray = new Array();
  10.             function carga(e)
  11.             {
  12.                 try{
  13.                     var myindex = parseInt(myarray.length,10);
  14.                     myarray[myindex] = document.getElementById("edadnum").value;
  15.                 }catch(e){                                    
  16.                 }
  17.             }
  18.         </script>
  19.  
  20.     </head>
  21.     <body>
  22.         <h1><b><i><u>Encuesta Callejera</u></i></b></h1>
  23.         <form name="f">
  24.                 Edad:<br><input type="text" maxlength="2" id="edadnum">
  25.             <br>
  26.             <br>
  27.                 Genero:<br><input type="radio" name="sexo" value="Masculino" checked> Masculino<br>
  28.             <input type="radio" name="sexo" value="Femenino"> Femenino
  29.             <br>
  30.             <br>
  31.                 Prefiere hacer las compras:<br>
  32.             <input type="radio" name="pref" value="pref1" checked> En comercios de su barrio
  33.             <br>
  34.             <input type="radio" name="pref" value="pref2"> En comercios del centro
  35.             <br>
  36.             <input type="radio" name="pref" value="pref3"> En Shoppings y supermercados
  37.             <br>
  38.             <br>
  39.             <input type="button" value="cargar encuesta" name="cargar" onclick="javascript:carga();">
  40.             <br>
  41.             <br>
  42.             <input type="button" value="Mostrar estadísticas" name="mostrar" onclick="javascript:showEstadistics();">
  43.             <br>
  44.             <br>
  45.         </form>
  46.     </body>
  47. </html>

Fijate si algo así te sirve. De esta forma te lo arreglé para que veas como funciona el tema del array. Revisa bien porque te arreglé unos errores, espero que entiendas y consigas hacer lo que necesitás.

Saludos!
__________________
Freelance - Aplicaciones Web
  #19 (permalink)  
Antiguo 26/10/2010, 09:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

Lo voy a analizar gracias por tus respuestas y el tiempo
saludos
:)
  #20 (permalink)  
Antiguo 26/10/2010, 09:33
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Creacion de arrays

Hola,
Cita:
Iniciado por carmagedon Ver Mensaje
Hola,
No, no puede ser siempre 0. Porque la primera vez si lo va a ser, porque debe ser así. En la primera vez va a ser myarray[0] = "el_valor"; y el length en la próxima te va a devolver 1, entonces va a ser algo correlativo.
Pero de todas las formas, está mal hecho porque devuelve un indice que no debe.

Código Javascript:
Ver original
  1. var myarray = new Array();
  2. function guardo(){
  3.     var myindex = parseInt(myarray.length,10); //primera vez 0, .. 1.. 2... etc..
  4.     myarray[myindex] = document.getElementById("el_identificador").value;
  5. }

De ésta forma si funcionaría, ya que en el caso anterior, te iba agregar mal los índices del array e iba a ser para problemas.

Saludos.
tienes toda la razón, no sé por qué leí if (increment != 0) en vez de if (myindex != 0). De todas formas, también tienes razón en que así no funcionaría.
Cita:
Iniciado por carmagedon Ver Mensaje
Código HTML:
Ver original
  1. <!-- ... -->
  2.         <script language="javascript" type="text/javascript">
  3.             function showEstadistics(e){
  4.                 for ( var n = 0; n < myarray.length; n++ ){
  5.                    document.write("Edad: " + myarray[n] + "<BR/>");
  6.                 }
  7.             }
  8.  
  9.             var myarray = new Array();
  10.             function carga(e)
  11.             {
  12.                 try{
  13.                     var myindex = parseInt(myarray.length,10);
  14.                     myarray[myindex] = document.getElementById("edadnum").value;
  15.                 }catch(e){                                    
  16.                 }
  17.             }
  18.         </script>
  19. <!-- ... -->
  20.             <input type="button" value="cargar encuesta" name="cargar" onclick="javascript:carga();">
  21.             <br>
  22.             <br>
  23.             <input type="button" value="Mostrar estadísticas" name="mostrar" onclick="javascript:showEstadistics();">
  24.             <br>
  25.             <br>
  26.         </form>
  27.     </body>
  28. </html>
No estoy seguro pero yo diría que lo de 'javascript:' sobra, porque en los eventos se supone que tiene que ir un script, entonces es como redundante, sin embargo href='javascript:...' no, porque normalmente el href es un dirección o un ancla.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #21 (permalink)  
Antiguo 26/10/2010, 10:55
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Creacion de arrays

Hola!
Si, gracias a tu observación detecté el error en el código que habia puesto jaja, pero bueno, al código se lo armé para que funcione, estaría bueno que se rompa la cabeza en mejorarlo y hacerlo funcionar a su gusto, asi de esa forma aprende más rápido en vez de copiar y pegar.
Gracias por la surgerencia con respecto al javascript:.

Un saludo!
__________________
Freelance - Aplicaciones Web
  #22 (permalink)  
Antiguo 08/11/2010, 12:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Creacion de arrays

jejeje gracias por las respuestas igualmente. La verdad mi cabeza tiene que hacer el click para poder seguir aprendiendo pero a veces se me complica bastante. bueno.. a veces me la complico mas de lo que debo y me doy cuenta a lo ultimo que era mas simple
:s
jeje
saludoss :)

Etiquetas: creación, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.