Ciao a tutti ho da poco iniziato javascript e non riesco a trovare una soluzione al mio problema:
Devo fare la media dei numeri contenuti in un array, manon so come si fa.
Qualcuno può gentilmente aiutarmi?
Ciao a tutti ho da poco iniziato javascript e non riesco a trovare una soluzione al mio problema:
Devo fare la media dei numeri contenuti in un array, manon so come si fa.
Qualcuno può gentilmente aiutarmi?
fai un ciclo della array e collezioni i valori, poi dividi epr la lunghezza che so del tipo:
codice:<script> var foo=[3,4,8];//una array var somma=0; for(var i=0; i<foo.length; i++){ somma+=parseFloat(foo[i]); } somma/=foo.length; alert(somma); </script>
Grazie mille per la risposta. Se invece l'array di numeri viene data da un prompt? come faccio?
un prompt non dà una array, dà un valore singolo.
Se il prompt si ripete, alla fine hai una array se vi è una array che ne colleziona i valori. Come tale è una array come tutte le altre.
Questo è il mio script e non va la parte finale cioè il calcolo della media nell'arraycodice:<script> var x; var dati; var i; var z; var y; var somma; x=prompt("Quanti lanci vengono effettuati?"); if(x < 15) { alert('Inserire valore maggiore o uguale a 15'); } dati= new Array(x); i=0; do { y=prompt("La frequenza dei numeri qual'è?"); dati[i] = y; i++; }while(i!=x) document.write(dati.sort(dati)); z=prompt("1-Media; 2-Moda; 3-Mediana"); if (z == 1) { for (i=0; i<dati.length; i++); { somma += dati[i]; } somma /= dati.length; alert(somma); } </script>perchè?
A parte che se non si conosce bene javascript una applicazione come quella è soggetta ad infiniti errori - presume che l'utente immetta sempre numeri, e se non lo facesse?
Il metodo sort non deve avere come argomento l'oggetto su cui si applica.
Non prevede che il prompt ritorni null, il che accade se l'utente clicca annulla.
ma insomma, allora diciamo:
poi riadattalo te alle tue esigenze, ciaocodice:<script> var x; var dati=new Array(); var somma=0; x=prompt("Quanti lanci vengono effettuati?"); if(parseFloat(x) < 15){ alert('Inserire valore maggiore o uguale a 15'); } else{ for(var i=0; i<x; i++){ dati[i]=prompt('e metti un numero su!');//preume inserisce un NUMERO, non valida se non lo è somma+=parseFloat(dati[i]); } }; if(dati.length){alert(somma/dati.length);}//occhio pure alla divisione per zero... </script>
Infatti javascript l'ho appena iniziato, comunque grazie infinite![]()