Bonjour,
Voila je rencontre un petit problème avec mon code.
Je suis en train de suivre le cour vidéo sur les fonction et à un moment il nous demande de faire une fonction qui nous dit qui à la moyenne dans deux classe...
Enfin bref mon code à le problème suivant voici le message d’erreur de la console:
Uncaught TypeError: Cannot read property 'noms' of undefined
at quiàlamoyenne
Et voici mon code :
<html>
<head>
<script>
var classeA = [{
noms : "marc",
moyenne : 15
},{
noms : "marion",
moyenne : 8
},{
noms : "antoine",
moyenne : 4
}]
var classeB = [{
noms : "Louis",
moyenne : 11
},{
noms : "Yannis",
moyenne : 14
},{
noms : "Olivier",
moyenne : 18
},{
noms : "Quentin",
moyenne : 12
}]
function quiàlamoyenne (eleves){
for (i= eleves.length; i>0 ; i--)
var lenoms = eleves[i].noms
var note = eleves[i].moyenne
if (moyenne >= 10){
console.log(lenoms+" à la moyenne avec "+note)
}
}
console.log("classe A")
quiàlamoyenne(classeA)
console.log("classe B")
quiàlamoyenne(classeB)
</script>
</head>
<body>
</body>
</html>
Je voudrais juste que l'on m'explique ce que j'ai rater dans le code ^^
Voilà merci d'avance :D
Ton problème, c'est que length
, donne la taille de ton tableau, soit 3
pour le premier, sauf que dans ce tableau, tu n'as pas d'index 3
puisque son plus grand index est 2
, dans ta boucle, il te faut donc remplacer i = eleves.length;
par i = (eleves.length - 1);
et par conséquent, il te faut également modifier la seconde partie i > 0;
par i >= 0;
.
Voici un petit exemple.
Par contre, tu devrais éviter les accents dans tes noms de variables/classes/functions.
Ah d'accord merci beaucoup pour ta réponce :D
Et promis je met plus jamais d'acent nul par ^^