Javascript 输入5个数字后返回数组的最大值

Javascript 输入5个数字后返回数组的最大值,javascript,Javascript,我通过输入5个不同的分数来创建一个数组。现在,我假设返回该特定数组的最高分数。然而,在我输入完最后一个分数后,我得到了以下信息:“最高分数:未定义” 有人能指出为什么会发生这种情况并帮我解决吗?我目前正在学习JS var arrScores = []; //I created an empty array where my scores will be stored. //Here I am creating a loop so

我通过输入5个不同的分数来创建一个数组。现在,我假设返回该特定数组的最高分数。然而,在我输入完最后一个分数后,我得到了以下信息:“最高分数:未定义”

有人能指出为什么会发生这种情况并帮我解决吗?我目前正在学习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);     
var-arrScores=[]//我创建了一个空数组来存储我的分数。
//在这里,我创建了一个循环,以便用户可以输入5个分数
对于(var i=0;i<5;i++){
arrScores.push(提示(“请输入您的分数”+(i+1));
}
//我创建了一个函数,认为我能够获得最大分数。
功能最高分(arr){
最高分=数学最高分(ARR分数)
}
//这应该是得分最高的最后警报。
警报('Highest score:'+Highest score.join);

代码中有几个小错误

  • highestScore是一个函数,您必须调用函数,如
    highestScore()
  • 您需要在
    Math.max
  • highestScore
    函数中添加return语句
  • 您不需要使用联接,因为函数将只返回最大值
  • 我对代码做了一些更改,请尝试下面的代码

    试试这个

    var-arrScores=[];
    对于(var i=0;i<5;i++){
    arrScores.push(提示(“请输入您的分数”+(i+1));
    }
    功能最高分(arr){
    返回数学最大值(…arr);
    }
    
    警报(“最高分数:”+最高分数(ARR分数))最高分数是一个函数。首先,您需要调用它

    alert('Highest score: ' + highestScore(arrScores));
    
    要获得该值,需要从highestScore函数返回该值

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

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

    highestScore
    不是数组,您不需要使用
    join
    。它应该是
    Math.max(…arrScores)