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