无法使数组正确返回
问题描述:
创建一个名为findMax的函数。它接受一个称为数字的参数, 表示一个数字数组。 在你的函数中,找到数组内的最大数。 返回结果。无法使数组正确返回
// Hint: You need to make sure that max always returns an
// element of an array and not an arbitrary number.
是我得到的错误信息是
您回到 '4'。这是不正确的。最大值为5.
答
您在截图中发布的代码似乎与问题规格相矛盾:规范要求您返回元素,但您的实现返回索引。如果你确实想找到最大元素,还有一个有趣的班轮为:
function findMax(numbers){
return numbers.reduce((max, n)=> n > max ? n : max);
}
如果你正在寻找的最大元素的索引,你可以重新使用上述功能:
function findMaxIndex(numbers){
return numbers.indexOf(findMax(numbers));
}
答
这样做的一个简单的方法是不断变化的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;
}
这将返回并应工作不错:)
后的代码中的问题...不是一个图像 – epascarello
返回MAXNUMBER? –