2 votes

Renvoi de la valeur la plus élevée d'un tableau après la saisie de 5 chiffres

Je crée un tableau en imputant 5 scores différents. Maintenant, je suis censé renvoyer le score le plus élevé de ce tableau particulier. Cependant, une fois que j'ai fini d'imputer mon dernier score, j'obtiens le message suivant : "Score le plus élevé : non défini"

Quelqu'un peut-il m'expliquer pourquoi cela se produit et m'aider ? Je suis en train d'apprendre JS.

var arrScores = [];     //I created an empty array where my scores will be stored.                            

//Here I am creating a loop so that the user can input 5 scores
for (var i = 0; i < 5; i++) {             
  arrScores.push(prompt('Please enter your score ' + (i+1))); 
}
//I created a function thinking I would be able to pull the largest score. 
function highestScore(arr){
    highestScore = Math.max(arrScores)
}
//This is suppose to be the final alert with the highest score. 
alert('Highest score: ' + highestScore.join);

2voto

Sohail Ashraf Points 7708

Il y a quelques petites erreurs dans le code.

  1. highestScore est une fonction, vous devez appeler la fonction comme suit highestScore(<parameter>)
  2. Vous devez répartir le tableau dans Math.max
  3. Ajoutez la déclaration de retour dans le highestScore fonction.
  4. Vous n'avez pas besoin d'utiliser la jointure, car la fonction ne renverra que la valeur maximale.

J'ai fait quelques changements dans le code, essayez le code ci-dessous.

Essayez ça.

var arrScores = [];                        
for (var i = 0; i < 5; i++) {             
  arrScores.push(prompt('Please enter your score ' + (i+1))); 
}

function highestScore(arr){
    return Math.max(...arr);
}

alert('Highest score: ' + highestScore(arrScores));

0voto

Highest score est une fonction. Vous devrez d'abord l'appeler

alert('Highest score: ' + highestScore(arrScores));

Et pour obtenir la valeur, vous devrez retourner la valeur de la fonction highestScore.

function highestScore(arrScores){
    highestScore = Math.max(...arrScores)
    return highestScore
}

Méthode plus courte

function highestScore(arrScores){
    return Math.max(...arrScores)
}

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