Мне нужно найти наибольшее число из трех разных чисел. Единственное, что я нашел, это max(), но вы можете использовать только 2 числа.
Каков наилучший способ?
Мне нужно найти наибольшее число из трех разных чисел. Единственное, что я нашел, это 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 MARTIN предлагают с помощью apply:
Array.prototype.max = function () {
return Math.max.apply(Math, this);
};
var max = [1,2,3,4,5,6].max(); // 6
Почти на любом языке можно использовать max дважды:
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 b-a});
console.log("max number is", numbers[0]); // max number is 3