294 votes

Comment calculer la somme et la moyenne des éléments d'un tableau ?

J'ai du mal à ajouter tous les éléments d'un tableau en plus de les calculer en moyenne. Comment le faire et l'implémenter avec le code que j'ai actuellement ? Les éléments sont censés être définis comme je l'ai ci-dessous.

<script type="text/javascript">
//<![CDATA[

var i;
var elmt = new Array();

elmt[0] = "0";
elmt[1] = "1";
elmt[2] = "2";
elmt[3] = "3";
elmt[4] = "4";
elmt[5] = "7";
elmt[6] = "8";
elmt[7] = "9";
elmt[8] = "10";
elmt[9] = "11";

// Problem here
for (i = 9; i < 10; i++){
  document.write("The sum of all the elements is: " + /* Problem here */ + " The average of all the elements is: " + /* Problem here */ + "<br/>");
}   

//]]>
</script>

679voto

GiantSquid Points 1919

Une solution que je considère plus élégante :

const sum = times.reduce((a, b) => a + b, 0);
const avg = (sum / times.length) || 0;

console.log(`The sum is: ${sum}. The average is: ${avg}.`);

177voto

ES6

const average = arr => arr.reduce( ( p, c ) => p + c, 0 ) / arr.length;
    
const result = average( [ 4, 4, 5, 6, 6 ] ); // 5
    
console.log(result);

159voto

Marcus Recck Points 2916
var sum = 0;
for( var i = 0; i < elmt.length; i++ ){
    sum += parseInt( elmt[i], 10 ); //don't forget to add the base
}

var avg = sum/elmt.length;

document.write( "The sum of all the elements is: " + sum + " The average is: " + avg );

Il suffit d'itérer à travers le tableau, puisque vos valeurs sont des chaînes, elles doivent d'abord être converties en un entier. Et la moyenne est juste la somme des valeurs divisée par le nombre de valeurs.

51voto

Tomasz Mularczyk Points 12030

Calculer la moyenne (moyenne) en utilisant reduce et ES6 :

const average = list => list.reduce((prev, curr) => prev + curr) / list.length;

const list = [0, 10, 20, 30]
average(list) // 15

37voto

rturkek Points 77

Le plus petit paquebot pour

const avg = arr => arr.reduce((acc,v,i,a)=>(acc+v/a.length),0);

moyen

Le plus court pour la somme

const sum = arr => arr.reduce((a,b)=>a+b);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X