Javascript max () функция для 3 чисел - PullRequest
40 голосов
/ 13 сентября 2009

Мне нужно найти наибольшее число из 3 разных чисел. Единственное, что я нашел, это max (), но вы можете использовать только 2 числа.

Что лучше?

Ответы [ 5 ]

110 голосов
/ 13 сентября 2009

Функция Math.max может принимать любое произвольное количество аргументов:

Синтаксис:

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

Использование:

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

Например:

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

Вы можете даже использовать его для получения максимального значения массива чисел с помощью apply :

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


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

Если вы можете использовать ES6 (ES2015), вы также можете использовать оператор распространения :

let array = [1,2,3,4,5,6];
let max = Math.max(...array);
console.log(max); // 6
19 голосов
/ 13 сентября 2009

Почти на любом языке можно использовать максимум дважды:

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

Как указывает @CMS, JavaScript специально разрешает Math.max произвольное количество параметров:

Math.max(num1, num2, num3);
2 голосов
/ 29 мая 2013

Вставьте ваши значения в массив 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);
0 голосов
/ 12 июня 2017

Использование с новым оператором распространения

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

для получения дополнительной информации

0 голосов
/ 11 декабря 2013
 var numbers = [2,3,1];
 numbers.sort(function(a,b){return b-a});
 console.log("max number is", numbers[0]); // max number is 3
...