Javascript max()函数为3个数字

Ben*_*ock 40 javascript math max

我需要从3个不同的数字中找到最高的数字.我发现的唯一的东西是max(),但你只能使用2个数字.

什么是最好的方式?

CMS*_*CMS 110

Math.max函数可以接受的参数任意数量的:

句法:

Math.max([value1[,value2[, ...]]]) 
Run Code Online (Sandbox Code Playgroud)

用法:

var max = Math.max(num1, num2, num3);
Run Code Online (Sandbox Code Playgroud)

例如:

console.log(Math.max(1,2,3,4,5,6)); //  6
Run Code Online (Sandbox Code Playgroud)

apply的帮助下,您甚至可以使用它来获取数字数组的最大值:

function maxOfArray(array) {
  return Math.max.apply(Math, array);
}


let array = [1,2,3,4,5,6];
console.log(maxOfArray(array)); // 6
Run Code Online (Sandbox Code Playgroud)

如果您可以定位ES6(ES2015),您还可以使用扩展运算符:

let array = [1,2,3,4,5,6];
let max = Math.max(...array);
console.log(max); // 6
Run Code Online (Sandbox Code Playgroud)

  • 谷歌似乎很喜欢SO.在问题首次发布后45分钟谷歌搜索'javascript max',并在第一页找到了这个答案:-) (7认同)
  • +1我不知道为什么之前没有采用它,这是迄今为止最简单的解决方案.如果你想让它与数组一起使用,只需使用Math.max.apply(Math,array) (2认同)

Eri*_* J. 20

在几乎任何语言中,最多可以使用两次:

Math.max(num1, Math.max(num2, num3))
Run Code Online (Sandbox Code Playgroud)

正如@CMS所指出的,JavaScript特别允许Math.max的任意数量的参数:

Math.max(num1, num2, num3);
Run Code Online (Sandbox Code Playgroud)

  • Math.max可以接受任意数量的参数,请参阅下面的答案:http://stackoverflow.com/questions/1418569/javascript-max-function-for-3-numbers/1418646#1418646 (7认同)
  • 17人喜欢这个答复,但有2人投了赞成票.不幸的是,没有理由.很高兴理解这些挫折,这样我们都可以学习...... (3认同)