CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JavaScript] un khey pour m'expliquer ça?

El-Other60
El-Other60
Niveau 9
20 août 2020 à 16:19:31

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 :hap: un khey pourrait m'expliquer? :(

jean-q
jean-q
Niveau 7
20 août 2020 à 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

StopLe410svp
StopLe410svp
Niveau 5
20 août 2020 à 16:40:19

J'aurai pas dit mieux :ok:

Iterer
Iterer
Niveau 25
20 août 2020 à 16:42:24
const calculateAverageRatingReduce = (ratings) => {
  if(!ratings.length) {
    return 0;
  }
  return ratings.reduce((a, r) => a + r, 0) / ratings.length;
}

Plus propre. :ok:

Iterer
Iterer
Niveau 25
20 août 2020 à 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]);
Message édité le 20 août 2020 à 16:47:38 par Iterer
jean-q
jean-q
Niveau 7
20 août 2020 à 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 :rire:

Pytha_Gor1
Pytha_Gor1
Niveau 9
20 août 2020 à 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
Iterer
Niveau 25
20 août 2020 à 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
Pytha_Gor1
Niveau 9
20 août 2020 à 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
Iterer
Niveau 25
20 août 2020 à 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
Dupons
Niveau 7
20 août 2020 à 19:09:59

Quel enfer le js

dontrajx
dontrajx
Niveau 20
20 août 2020 à 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
Iterer
Niveau 25
20 août 2020 à 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
MarlouPompette
Niveau 8
20 août 2020 à 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 :hap:

Flo318
Flo318
Niveau 10
20 août 2020 à 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
B777X
Niveau 38
20 août 2020 à 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
ultrachibre2
Niveau 7
20 août 2020 à 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
DewFoll
Niveau 5
20 août 2020 à 19:17:20

Le 20 août 2020 à 19:09:59 Dupons a écrit :
Quel enfer le js

Mais tellement +1 :(

danuiu
danuiu
Niveau 2
20 août 2020 à 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.

Message édité le 20 août 2020 à 19:18:54 par danuiu
danuiu
danuiu
Niveau 2
20 août 2020 à 19:23:22

Comme tu peux le voir, le java est beaucoup plus élégant que le javascript

Sous forums
  • Religion
La vidéo du moment