• Java

 #250423  por b4nz0k
 06 Dic 2010, 06:04
Holas a todos e tenido un pequeño tropieso en aprender Javascript sobre clases
y espero y me ayuden a entender este script de la clase Array
<SCRIPT LANGUAGE="JavaScript">
function cargar(sueldos)
{
var f;
for(f=0;f<sueldos.length;f++)
{
var v;
v=prompt('Ingrese sueldo:','');
sueldos[f]=parseInt(v); <-Esta linea me tiene muy confundido, normalmente habia puesto antes var=parseInt(var) :S
}
}

function calcularGastos(sueldos)
{
var total=0;
var f;
for(f=0;f<sueldos.length;f++)
{
total=total+sueldos[f];
}
document.write('Listado de sueldos<br>');
for(f=0;f<sueldos.length;f++)
{
document.write(sueldos[f]+'<br>');
}
document.write('Total de gastos en sueldos:'+total);
}

var sueldos;
sueldos=new Array(5);
cargar(sueldos);
calcularGastos(sueldos);

</SCRIPT>
me podrian explicar [f]?, es lo que me saca de onda :S
porque en la zona que lo estudio no bienen nada
estari muy agradecido una buena explicacion :D
 #250459  por osnaraus
 06 Dic 2010, 11:26
Hola man, primeramente te muevo el post a "Desarrollo y Dudas de Programación"
La duda que tienes es bien basica. Tienes que tener los conceptos claros de array
Es decir:
Suponte que un array es una cajonera:
Imagen
1) La cajonera se llama sueldos.
2) cada cajon tiene un indice, siendo el primer cajon el 0, el segundo el 1, etc
3) para "meter" cosas en un cajon, lo tienes que nombrar asi: sueldo[2] hace referencia al 3er cajon
4) Para llenar la cajonera hago un bucle for que va desde 0 hasta la longitud de la cajonera - 1,
y con una variable voy moviendo el subindice de 1 en 1

En la practica:
Código: Seleccionar todo
var f; // declara a f 
for(f=0;f<sueldos.length;f++) // f va de 0 hasta (longitud -1)
{
var v; //declara v
v=prompt('Ingrese sueldo:',''); // salida en pantalla del string y entrada de teclado para asignar v
sueldos[f]=parseInt(v); // *primera entrada: sueldos [0] = parseInt (v)

} //retorna a for y suma 1 a f  (mientras f sea menor que la longitud del array)
//*segunda entrada: sueldos [1] = parseInt (v)
//....
//...
//*ultima entrada: sueldos[sueldos.lenght-1]=parseInt(v)

//Ultima aclaracion: parseInt pasa a entero la entrada v que por default es string o char a int

 #250578  por b4nz0k
 06 Dic 2010, 18:23
Men muchoas gracias , Ya te entendi perfectmente :)
!!!!!!!!
conque era el array XD jaja muchas gracias
y perodona donde lo postee no me fije :P
jaja y seria mucha molestia si te pregunto tu explicacion
sobre la propiedad length?
 #250580  por osnaraus
 06 Dic 2010, 18:46
La propiedad lenght es lo que te indica la longitud del array que tu creaste en un code
En tu ejemplo:
Código: Seleccionar todo
var sueldos;
sueldos=new Array(5); // creas un array de 5 posiciones, es decir sueldos[0] sueldos[1] sueldos[2] sueldos[3] sueldos[4]
// entonces sueldos.lenght =5 (cantidad de cajones en la cajonera) acuerdate que empieza en 0, por lo cual el valor maximo es 4 es decir sueldos.lenght-1
// cuando entras al for, lo que hace es inicializar la variable f en 0 y se incrementra en 1 en cada "pasada" mientras f<sueldos.lenght, es decir, mientras f<5, es decir, hasta que f sea 4 inclusive. 
Tu diras... "para que uso lenght y no uso la constante 5 en el for ???" Bueno, eso es porque te ayuda a la reutilizacion del codigo. Es decir, el dia de mañana quieres cambiar la cantidad de datos en el array, y lo unico que haces es cambiar el 5 en la declaracion del array.
Igualmente, se podria usar en este caso, array dinamico, pero eso ya es otro tema 
 #250589  por b4nz0k
 06 Dic 2010, 19:05
vuelvo a decir muchas gracias
esto de aprende programacion es un dolor de cabeza
 #250851  por $DoC
 07 Dic 2010, 16:59
me alegro que lo solucionaste =P suerte!

saludos