entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

como hacer calculos matematicos con arrays

tengo un problema, cuando intento hacer una suma de mis elementos contenidos en mi array de tipo numerico y luego mostrarlo en mi pagina recibo un error del tipo NaN, pero cuando lo hago con consolelog si muestra el resultado de la suma pero tambien muestra el nan.

var array = [10,20,30] // deberia de imprimir la suma en mi pagina
    function sumar() {
        var dato = document.getElementById('suma')

        var totale = 0
        var i 
        for (i=0; i<=array.length; i++) 
        {
          totale = totale + array[i]
          console.log(totale) // esto muestra el resultado de la suma y el error nan en la consola 
        }

          dato.innerHTML=totale // 

1voto

Leonardo-Tadei comentado

Podrías poner el código en jsfiddle.net para verlo funcionar?
Si estás copiando y pegando tu código, me extraña mucho que llegue a ejecutarse hasta el console.log(): ninguna línea tiene una terminación del punto y coma requerida!

1 Respuesta

3votos

magarzon Puntos30650

Aparte de lo comentado por @Leonardo-Tadei sobre los ; finales, creo que el error te lo está dando porque la condición del for es <=array.length y debería ser <array.length.

Los arrays en javascript (y muchos otros lenguajes) empiezan con el índice 0, por lo que terminan en el índice lenght-1.

Si tu bucle intenta ir más allá (índice length), porque el for no se ha parado antes, tienes un NaN

0voto

steven comentado

tengo entendido que los arrays empiezan desde cero, pero no entiendo porque deberian de terminar en menos uno, mi error esta resuelto y eso de las comillas al final no es obligatorio en javascript porque es un lenguaje flexible, razon por la que me gusta mas que otros.
ahora tengo otro problema desconocido, cuando intento crear un elemento en el dom
el navegador me retorna este error con el metodo.

**//output cannot read property 'appendChild' of null**

<script type="text/javascript">

        var div = document.getElementById("contenedor") ;
        var nodonuevo = document.createElement("div");
        div.appendChild(nodonuevo);

</script>
<body>

<div id="contenedor">
<span id="datos"></span>
<span id="items"></span>
<span id="suma"></span>
</div>
</body>

0voto

magarzon comentado

Aunque no sea estrictamente necesario poner los ; al final de cada línea en javascript, es una buena práctica de programación hacerlo.

Imagina que en la próxima versión de javascript (o aún más posible, en la última versión del motor javascript de Chrome o Firefox o cualquier otro navegador) se decide que ya no se permite no poner los ;. Te encontrarías que tu código de repente no funciona, simplemente porque no has seguido buenas prácticas de programación.

En cuanto a tu problema, ya lo has preguntado por otra parte y ya te han contestado,

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta