Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    fare la media con il contenuto di un array

    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, ma non so come si fa.
    Qualcuno può gentilmente aiutarmi?

  2. #2
    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>

  3. #3
    Grazie mille per la risposta. Se invece l'array di numeri viene data da un prompt? come faccio?

  4. #4
    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.

  5. #5
    codice:
    <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>
    Questo è il mio script e non va la parte finale cioè il calcolo della media nell'array perchè?

  6. #6
    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:
    codice:
    <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>
    poi riadattalo te alle tue esigenze, ciao

  7. #7
    Infatti javascript l'ho appena iniziato, comunque grazie infinite

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.