Javascript max() function for 3 numbers

2019-01-17 18:59发布

I need to find the highest number from 3 different numbers. The only thing I've found is max() but you can only use 2 numbers.

Whats the best way?

5条回答
我想做一个坏孩纸
2楼-- · 2019-01-17 19:37

Using with the new spread operator

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

for more info

查看更多
走好不送
3楼-- · 2019-01-17 19:38

In almost any language, one can use max twice:

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

As @CMS points out, JavaScript specifically allows an arbitrary number of parameters to Math.max:

Math.max(num1, num2, num3);
查看更多
仙女界的扛把子
4楼-- · 2019-01-17 19:38
 var numbers = [2,3,1];
 numbers.sort(function(a,b){return b-a});
 console.log("max number is", numbers[0]); // max number is 3
查看更多
聊天终结者
5楼-- · 2019-01-17 19:39

Push your values into an array arr and use Math.min.apply(null, arr) or Math.max.apply(null, arr) for maximum and minimum values respectively:

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);
查看更多
淡お忘
6楼-- · 2019-01-17 19:56

The Math.max function can accept any arbitrary number of arguments:

Syntax:

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

Usage:

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

For example:

console.log(Math.max(1,2,3,4,5,6)); //  6

You could even use it to get the maximum value of an array of numbers with the help of apply:

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


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

If you can target ES6 (ES2015), you can also use the spread operator:

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

查看更多
登录 后发表回答