Javascript Js数组始终返回最高值

Javascript Js数组始终返回最高值,javascript,Javascript,我有以下代码: var max_value = function(array) { var result = array[0]; for (var i = 0; i < array.length; i++) { if (array[i] > result) { result = array[i]; }; } return result; } console.log(max_value([1, 10, 9])); 或 如果条件为true,

我有以下代码:

var max_value = function(array) {
  var result = array[0];

  for (var i = 0; i < array.length; i++) {
    if (array[i] > result) {
      result = array[i];
    };
  }
  return result;
}
console.log(max_value([1, 10, 9]));


如果条件为true,是否应返回最后一个数组号?(在最后一种情况下,似乎返回了最大的数字)

您可以使用本机的
Array.prototype.sort
来完成这项艰巨的工作

var max_value=函数(数组){
返回array.sort((a,b)=>a-b.pop()
}
log(最大值([1,10,9,5,3,2,6,8,4])
var arrV=[9,10,2]

console.log(Math.max(…arrV))嗯。您没有将上一个值检查为当前值。但是以前存储的最高值。为什么要返回
9
?该条件永远不会为真,因为如果将结果10与数组[3]9进行比较。10比9高,这就是为什么你的函数总是返回最高值的原因。因为if(array[i]>result),当你遍历每一项时,具有最高值的一个将被分配给结果,因此您将始终获得最高的数字。该函数设计为始终返回数组中的最高值,并根据您的问题判断它是否工作,那么问题出在哪里?排序(在最佳情况下)是O(nlogn),但您只需要O(n)和一个循环。顺便说一句,op没有说明他在寻找什么。
console.log(max_value([1, 10, 9]));
console.log(max_value([10, 1, 9]));