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