[JavaScript] un khey pour m'expliquer ça?
jean-q
2020-08-20 16:38:47
Tu as un fonction nommée "calculateAverageRating", qui lorsqu'elle est appelée quelque part dans le code reçoit un paramètre, ici "ratings", qui je l'imagine est une liste de rating.
Premier test (le "if"), regarde si cette liste est vide, si oui, la fonction s'arrête (ne passe pas dans les lignes suivantes et retourne "0" comme résultat.
Si elle n'est pas vide, la fonction continue son exécution. Une variable "sum" est déclarée et initialisée à zéro.
La boucle "for" permet de parcourir tous les éléments de ta liste "ratings" pour ajouter chaque rating contenu dans la liste dans la variable "sum".
Finalement, tu obtiens une certaine valeur dans "sum". Cette valeur est divisée par la taille de ta liste pour obtenir la moyenne.
C'est comme si ta liste "ratings" contenait :
15, 16, 10, 12, 14 comme "rating"
"sum" contient au total l'addition de tout celà, soit 67
et donc tu termines par 67 / 5 = 13.4 de moyenne
Iterer
2020-08-20 16:42:24
const calculateAverageRatingReduce = (ratings) => {
if(!ratings.length) {
return 0;
}
return ratings.reduce((a, r) => a + r, 0) / ratings.length;
}
Plus propre.
Iterer
2020-08-20 16:47:03
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
jean-q
2020-08-20 16:48:45
AYAAAA Iterer je pense qu'il voulait comprendre tranquillement sa fonction, là il a dû tomber dans les pommes avec ce que tu lui proposes
Pytha_Gor1
2020-08-20 16:51:47
Le 20 août 2020 à 16:47:03 Iterer a écrit :
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
Wow :o
Tu es un web dev ?
Iterer
2020-08-20 16:56:43
Le 20 août 2020 à 16:51:47 Pytha_Gor1 a écrit :
Le 20 août 2020 à 16:47:03 Iterer a écrit :
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
Wow :o
Tu es un web dev ?
Fullstack 2/3 compétences fortes et d'autres moins bonnes.
Pytha_Gor1
2020-08-20 17:08:29
Le 20 août 2020 à 16:56:43 Iterer a écrit :
Le 20 août 2020 à 16:51:47 Pytha_Gor1 a écrit :
Le 20 août 2020 à 16:47:03 Iterer a écrit :
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
Wow :o
Tu es un web dev ?
Fullstack 2/3 compétences fortes et d'autres moins bonnes.
Je veux web dev très rapidement, j'ai pas le temps de devenir expert JS, ça suffit si je go framework React directement ? Les concepts ont l'air simple, y'a de bons cours sur (pirate) Udemy
Iterer
2020-08-20 19:08:20
Le 20 août 2020 à 17:08:29 Pytha_Gor1 a écrit :
Le 20 août 2020 à 16:56:43 Iterer a écrit :
Le 20 août 2020 à 16:51:47 Pytha_Gor1 a écrit :
Le 20 août 2020 à 16:47:03 Iterer a écrit :
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
Wow :o
Tu es un web dev ?
Fullstack 2/3 compétences fortes et d'autres moins bonnes.
Je veux web dev très rapidement, j'ai pas le temps de devenir expert JS, ça suffit si je go framework React directement ? Les concepts ont l'air simple, y'a de bons cours sur (pirate) Udemy
React/Angular honnêtement c'est good.
Dupons
2020-08-20 19:09:59
Quel enfer le js
dontrajx
2020-08-20 19:10:37
calcul de moyenne khey, cependant tellement optimisable de x façon differente que ça fait mal au coeur que c'est présent sur un tuto
Iterer
2020-08-20 19:10:43
Le 20 août 2020 à 19:09:59 Dupons a écrit :
Quel enfer le js
Pour ça Angular au moins c'est du ts (c'est pas ouf mais c'est mieux)
MarlouPompette
2020-08-20 19:11:39
Le 20 août 2020 à 19:10:37 Dontrajx a écrit :
calcul de moyenne khey, cependant tellement optimisable de x façon differente que ça fait mal au coeur que c'est présent sur un tuto
Tu commences pas par des algo récursif quand tu commences à coder
Flo318
2020-08-20 19:13:34
Vu le code que tu ne comprends pas, ce n'est pas JS le souci, mais tes bases en algorithmique.
Pas la peine d'apprendre un langage si tu ne sais pas programmer en pseudo-code.
b777x
2020-08-20 19:14:33
Le 20 août 2020 à 19:13:34 Flo318 a écrit :
Vu le code que tu ne comprends pas, ce n'est pas JS le souci, mais tes bases en algorithmique.
Pas la peine d'apprendre un langage si tu ne sais pas programmer en pseudo-code.
+1
ultrachibre2
2020-08-20 19:16:08
Le 20 août 2020 à 16:47:03 Iterer a écrit :
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
Propre. Surement pas compatible avec IE par contre le reduce.
DewFoll
2020-08-20 19:17:20
Le 20 août 2020 à 19:09:59 Dupons a écrit :
Quel enfer le js
Mais tellement +1
danuiu
2020-08-20 19:18:32
static int calculerMoyenne(int[] liste){
int note=0;
int l=liste.length();
if(l==0){
return 0;
}
for(int i=0;i<l;i++){
s+=liste[i];
}
return s/l;
}
Une solution en Java.
La fonction prend en paramètre un tableau de liste de notes par exemples, calcule la somme de toute les notes et renvoie la moyenne générale, aussi simple que ca.
danuiu
2020-08-20 19:23:22
Comme tu peux le voir, le java est beaucoup plus élégant que le javascript