Javascript的max()函数为3个数字

我需要从3个不同的号码中find最高的号码。 我唯一发现的是max(),但是你只能使用2个数字。

最好的办法是什么?

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

句法:

Math.max([value1[,value2[, ...]]]) 

用法:

 var max = Math.max(num1, num2, num3); 

例如:

 alert(Math.max(1,2,3,4,5,6)); // alerts 6 

你甚至可以使用它来获得@Pascal MARTINbuild议的一系列数字的最大值,在apply的帮助下:

 Array.prototype.max = function () { return Math.max.apply(Math, this); }; var max = [1,2,3,4,5,6].max(); // 6 

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

 Math.max(num1, Math.max(num2, num3)) 

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

 Math.max(num1, num2, num3); 

将您的值推入数组arr ,分别使用Math.min.apply(null, arr)Math.max.apply(null, arr)作为最大值和最小值:

 var arr = []; arr.push(value1); arr.push(value2); arr.push(value3); var minValue = Math.min.apply(null, arr); var maxValue = Math.max.apply(null, arr); 

与新的传播运算符一起使用

 var num = [23,34,56,72,1,22]; Math.max(...num) 

获取更多信息

  var numbers = [2,3,1]; numbers.sort(function(a,b){return ba}); console.log("max number is", numbers[0]); // max number is 3