Javascript 如何使循环读取一个数字数组并找到最大值?

Javascript 如何使循环读取一个数字数组并找到最大值?,javascript,arrays,loops,for-loop,Javascript,Arrays,Loops,For Loop,我知道循环本身会重复指定的次数,但是我如何使它读取整个数组并返回某个值呢?我试图返回两个测试问题的最大值,但得到的唯一结果是数组的第一个值 function question1(numberArray) { for (let i = 0; i < numberArray.length; i = i + 1) { number = numberArray[i]; return number; } } function testQuestion1() { let

我知道循环本身会重复指定的次数,但是我如何使它读取整个数组并返回某个值呢?我试图返回两个测试问题的最大值,但得到的唯一结果是数组的第一个值

function question1(numberArray) {
  for (let i = 0; i < numberArray.length; i = i + 1) {
    number = numberArray[i];
    return number;
  }
}

function testQuestion1() {
  let testArray = [10, 45, 33, 67, 433, 33];
  let answer1 = question1(testArray);
  if(question1(testArray) == 433) {
    console.log("Question 1:Found the largest");
  } else {
    console.log("Question1: For array ", testArray, " returned ", answer1, "Which is not the largest");
  }

  let testArray2 = [10, -900, 3000, 22, 33, 67, 433, 33];
  let answer2 = question1(testArray);
  if(question1(testArray2) == 3000) {
    console.log("Question 1: Found the largest");
  } else {
    console.log("Question 1: For array ", testArray2, " returned ", answer2, "Which is not the largest");
  }
}
功能问题1(numberArray){
for(设i=0;i
与数组扩展运算符一起使用(也在链接中):

用于循环和
max
变量:

function myMax(numberArray) {
  var max=-Infinity;
  for(var i=0; i<numberArray.length; i++)
    if(numberArray[i]>max)
      max=numberArray[i];
  return max;
}

在所有情况下,如果
numberArray
为空,则将返回
-Infinity

重复问题:您可能希望使用语言标记。。。可能是“javascript”…欢迎
return
立即退出函数。我的回答是否有助于您更好地理解?如果是这样,请接受它(通过点击接受),并向上投票(当你有15+信誉点时)。非常感谢。
function myMax(numberArray) {
  var max=-Infinity;
  for(var i=0; i<numberArray.length; i++)
    if(numberArray[i]>max)
      max=numberArray[i];
  return max;
}
function myMax(numberArray) {
  return numberArray.reduce((max, arrayItem)=>Math.max(max, arrayItem),-Infinity);
}