无法使数组正确返回

问题描述:

创建一个名为findMax的函数。它接受一个称为数字的参数, 表示一个数字数组。 在你的函数中,找到数组内的最大数。 返回结果。无法使数组正确返回

// Hint: You need to make sure that max always returns an 
// element of an array and not an arbitrary number. 

code

是我得到的错误信息是

您回到 '4'。这是不正确的。最大值为5.

+1

后的代码中的问题...不是一个图像 – epascarello

+1

返回MAXNUMBER? –

您在截图中发布的代码似乎与问题规格相矛盾:规范要求您返回元素,但您的实现返回索引。如果你确实想找到最大元素,还有一个有趣的班轮为:

function findMax(numbers){ 
    return numbers.reduce((max, n)=> n > max ? n : max); 
} 

如果你正在寻找的最大元素的索引,你可以重新使用上述功能:

function findMaxIndex(numbers){ 
    return numbers.indexOf(findMax(numbers)); 
} 

demo

这样做的一个简单的方法是不断变化的MAXNUMBER每次for循环找到一个比较大的数字的时间,具体情况如下:

num = [5, 3, 2, 7, 9, 10, 200]; 
findMax(num); 

function findMax(numbers) { 
    maxNumber = number[0]; 
    for (i = 0; i < numbers.length; i++) { 
    if (numbers[i] > maxNumber) { 
     maxNumber = numbers[i] 
    } 
    } 
    return maxNumber; 
} 

这将返回并应工作不错:)