首页 > 解决方案 > 在不使用 Math.max() 函数的情况下检索最大值

问题描述

我正在解决这个问题,它似乎正在让我变得最好。我的代码是执行一个返回最高值的函数,而不使用该Math.max()函数。

var arr = [42,13,34,8, -9, 3];

function max(array, selector) {

  var val = array[0];   

  for (var i = 1; i < array.length; i++) {
    if (selector == "Max") {
      if (array[i] > val) {
        val = array[i];
      }
    }

  }
  return val;
}

console.log(max([42,34,8,13,-9]))

标签: javascript

解决方案


您可以使用以下reduce功能来做到这一点:

function max(array) {
    return array.reduce((prev, curr) => prev > curr ? prev : curr, undefined)
}

console.log(max([42,34,8,13,-9]))
console.log(max([-1, -50,-9]))
console.log(max([]))


推荐阅读