[JavaScript] un khey pour m'expliquer ça?
Je fait ce cours pour essayer de comprendre un peu le JS https://openclassrooms.com/fr/courses/6175841-apprenez-a-programmer-avec-javascript/6279223-travaillez-sur-les-parametres-et-les-valeurs-de-retour
Mais j'ai rien compris à la pratique, en regardant la solution je vois
const calculateAverageRating = (ratings) => {
if(ratings.length === 0) {
return 0;
}
let sum = 0;
for (let rating of ratings) {
sum += rating;
}
return sum / ratings.length;
}
Et je comprends absolument rien un khey pourrait m'expliquer?
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
const calculateAverageRatingReduce = (ratings) => {
if(!ratings.length) {
return 0;
}
return ratings.reduce((a, r) => a + r, 0) / ratings.length;
}
Plus propre.
En one-liner :
const s=e=>e.length?e.reduce((e,n)=>e+n,0)/e.length:0;
Utilisation :
s([0, 10]);
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 ?
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.
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
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.
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)
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
Pas la peine d'apprendre un langage si tu ne sais pas programmer en pseudo-code.
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
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.
Le 20 août 2020 à 19:09:59 Dupons a écrit :
Quel enfer le js
Mais tellement +1
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.
Données du topic
- Auteur
- El-Other60
- Date de création
- 20 août 2020 à 16:19:31
- Nb. messages archivés
- 24
- Nb. messages JVC
- 24