Funzione Javascript max () per 3 numeri
-
07-07-2019 - |
Domanda
Devo trovare il numero più alto tra 3 numeri diversi. L'unica cosa che ho trovato è max () ma puoi usare solo 2 numeri.
Qual è il modo migliore?
Soluzione
La funzione Math.max può accettare qualsiasi arbitrario numero di argomenti:
La sintassi:
Math.max([value1[,value2[, ...]]])
Utilizzo:
var max = Math.max(num1, num2, num3);
Ad esempio:
console.log(Math.max(1,2,3,4,5,6)); // 6
Potresti anche usarlo per ottenere il valore massimo di una matrice di numeri con l'aiuto di applica :
function maxOfArray(array) {
return Math.max.apply(Math, array);
}
let array = [1,2,3,4,5,6];
console.log(maxOfArray(array)); // 6
Se puoi scegliere come target ES6 (ES2015), puoi anche utilizzare operatore di diffusione :
let array = [1,2,3,4,5,6];
let max = Math.max(...array);
console.log(max); // 6
Altri suggerimenti
In quasi tutte le lingue, si può usare max due volte:
Math.max(num1, Math.max(num2, num3))
Come sottolinea @CMS, JavaScript consente specificamente un numero arbitrario di parametri a Math.max:
Math.max(num1, num2, num3);
Inserisci i tuoi valori in un array arr
e usa Math.min.apply (null, arr)
o Math.max.apply (null, arr)
rispettivamente per i valori massimo e minimo:
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);
Utilizzo con il nuovo operatore di diffusione
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