Вопрос

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

Какой лучший способ?

Это было полезно?

Решение

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

Синтаксис:

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

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

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

Например:

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

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

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

Другие советы

Практически на любом языке можно использовать 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top