Foros del Web » Programando para Internet » Javascript »

Suma aritmetica de elementos no consecutivos de un array

Estas en el tema de Suma aritmetica de elementos no consecutivos de un array en el foro de Javascript en Foros del Web. Hola, me gustaria saber cual es la manera para sumar los elementos de un array, el indice de este array no es necesariamente consecutivo, por ...
  #1 (permalink)  
Antiguo 14/01/2007, 13:10
 
Fecha de Ingreso: febrero-2005
Mensajes: 626
Antigüedad: 19 años, 2 meses
Puntos: 10
Suma aritmetica de elementos no consecutivos de un array

Hola, me gustaria saber cual es la manera para sumar los elementos de un array, el indice de este array no es necesariamente consecutivo, por ejemplo puede ser que solo tengan valor numerico el indice 3, 5 ,9

Ya intente usando concat, pero devuelve una cadena concatenada, tambien intente con un ciclo, lo cual funciona el problema es por los elementos del array que no tienen valor

Código HTML:
<script>

var arrayprecio = new Array();
var precio=0
var preciotot=0;
var cual=0
var x=0
var numelements=0
function comprueba(esto,cual,precio){
    arrayprecio[cual]=precio
    preciotot=0
    numelements=arrayprecio.length;
    for(x=1; x <= numelements-1; x = x+1) {
        preciotot=preciotot+arrayprecio[x]
    }
    document.getElementById(cual).innerHTML = esto;
    document.getElementById("n").innerHTML = preciotot;

}
</script>
<form name="forma">
<input type="radio" value="a" onclick="comprueba(this.value,0,3);"  />
<input type="radio" value="b" onclick="comprueba(this.value,1,5);"  />
<b id="0"></b>
<b id="1"></b><br />
<b id="n"></b>
</form> 
Es chistoso pero en el ejemplo que puse los numeros de los arrays si son consecutivos, pero aun asi lo que devuelven es un NaN y en el otro de los inputs hace correctamente la suma

Lo que mi logica me dice es que lo que debo hacer es llenar primeramente todos los elementos del array con 0, el problema seria saber el numero de elementos del array, lo cual se podria saber cada vez que se hace click, pero para empezar no se como llenar los elementos vacios del array con 0

--Agregado--
Si estuvieramos en PHP, usaria un foreach, lo cual es la mezcla de un ciclo y un list (lista todos los elementos de un array), la ventaja de foreach sobre cualquier ciclo es que no recorre el array atravez de su indice numerico sino atravez de su key, lamentablemente no se como hacerlo en javascript, espero alguien me dija
--Agregado--

Gracias de antemano, espero que alguien pueda decirme

Última edición por August; 14/01/2007 a las 13:56
  #2 (permalink)  
Antiguo 14/01/2007, 16:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Suma aritmetica de elementos no consecutivos de un array

Hola:

Tal vez se deba a que se trata de un array asociativo y se recorre con otro tipo de bucle for...

for (item in array) tratar (array[item])

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 10:42.