Je dois trouver le plus grand nombre parmi 3 nombres différents. La seule chose que j'ai trouvée est max () mais vous ne pouvez utiliser que 2 nombres.
Quel est le meilleur moyen?
La fonction Math.max peut accepter n'importe quel nombre d'arguments:
Syntaxe:
Math.max([value1[,value2[, ...]]])
Usage:
var max = Math.max(num1, num2, num3);
Par exemple:
console.log(Math.max(1,2,3,4,5,6)); // 6
Vous pouvez même l'utiliser pour obtenir la valeur maximale d'un tableau de nombres à l'aide de apply :
function maxOfArray(array) {
return Math.max.apply(Math, array);
}
let array = [1,2,3,4,5,6];
console.log(maxOfArray(array)); // 6
Si vous pouvez cibler ES6 (ES2015), vous pouvez également utiliser l'opérateur spread :
let array = [1,2,3,4,5,6];
let max = Math.max(...array);
console.log(max); // 6
Dans presque toutes les langues, on peut utiliser max deux fois:
Math.max(num1, Math.max(num2, num3))
Comme le souligne @CMS, JavaScript autorise spécifiquement un nombre arbitraire de paramètres dans Math.max:
Math.max(num1, num2, num3);
Poussez vos valeurs dans un tableau arr
et utilisez Math.min.apply(null, arr)
ou Math.max.apply(null, arr)
pour les valeurs maximales et minimales respectivement:
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);
Utilisation avec le nouvel opérateur de propagation
var num = [23,34,56,72,1,22];
Math.max(...num)