Мне нужно найти наибольшее число из трех разных чисел. Единственное, что я нашел, это max(), но вы можете использовать только 2 числа.
Каков наилучший способ?
Ответ 1
Функция 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 MARTIN предлагают с помощью apply:
Array.prototype.max = function () {
return Math.max.apply(Math, this);
};
var max = [1,2,3,4,5,6].max(); // 6
Ответ 2
Почти на любом языке можно использовать max дважды:
Math.max(num1, Math.max(num2, num3))
Как указывает @CMS, JavaScript специально разрешает произвольное количество параметров для Math.max:
Math.max(num1, num2, num3);
Ответ 3
Настройте значения в массив 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);