JavaScript - Math.max() - przykład metody z dokumentacją
Funkcja Math.max()
zwraca największą liczbę z podanych liczb.
// ONLINE-RUNNER:browser;
var max = Math.max(2, 5);
console.log( max ); // 5
console.log( Math.max(1) ); // 1
console.log( Math.max(1, 2) ); // 2
console.log( Math.max(1, 2, 3) ); // 3
console.log( Math.max(3, 25, -6, 0) ); // 25
console.log( Math.max(-5, -2, -7) ); // -2
console.log( Math.max(2, 1, NaN) ); // NaN
console.log( Math.max() ); // -Infinity
Math.max()
użycie funkcji z tablicą w przykładzie ES5 i ES6:
// ONLINE-RUNNER:browser;
var array = [10, 5, 0];
// In ES5
console.log( Math.max.apply(Math, array) ); // 10
// In ES6 - wprowadzono operator Spread (...)
console.log( Math.max(...array) ); // 10
console.log( Math.max(100, ...array, 120, ...[151, 152]) ); // 152
1. Dokumentacja
Składnia | Math.max(liczba1, liczba2, ...inne liczby) |
Parametry |
wartości integer-ów (liczby całkowite) lub float-ów (liczby zmiennoprzecinkowe), wartości prymitywne |
Wynik |
Maksymalna Zwraca Zwraca |
Opis | Math.max jest metodą statyczną, która pobiera argumenty liczbowe i zwraca największą wartość. |
2. Pobieranie maksymalnej wartości z przykładów tablic
2.1. Z przykładem metody Array
reduce
To podejście wykorzystuje metodę redukującą, aby znaleźć maksymalną wartość w tablicy. Dokonując niewielkiej modyfikacji instrukcji Math.max(a, b)
jesteśmy w stanie znaleźć maksymalną wartość wewnątrz właściwości zmiennych a
i b
.
// ONLINE-RUNNER:browser;
var array = [1, 2, 3];
var result = array.reduce(function(a, b) {
return Math.max(a, b);
});
console.log(result); // 3
2.2. Przykład rekurencyjnej metody max
To podejście wykorzystuje powtarzanie, aby znaleźć maksymalną wartość w tablicy lub tablicach zagnieżdżonych.
// ONLINE-RUNNER:browser;
function findMax() {
function checkEntry(entry) {
if (entry instanceof Array) {
return findMax.apply(null, entry);
}
return entry;
}
if (arguments.length > 0) {
var result = checkEntry(arguments[0]);
for (var i = 1; i < arguments.length; ++i) {
var value = checkEntry(arguments[i]);
if (value > result) {
result = value;
}
}
return result;
}
return NaN;
}
console.log(findMax(1, 2, 3, [4, 5, 6],[7, 8, [9, 10]])); // 10