Valores extremos de um array usando spread em JavaScript
Observe o seguinte código:
let max = Math.max(1, 2, 3, 4, 5);
Como você pode ver, este código encontra o máximo dentre os números. Mas o que fazer se nossos números estiverem representados na forma de um array? Por exemplo, assim:
let arr = [1, 2, 3, 4, 5];
Infelizmente, não podemos fazer o seguinte:
let arr = [1, 2, 3, 4, 5];
let max = Math.max(arr); // não é possível passar um array aqui
Claro, poderíamos colocar manualmente os elementos
do array em Math.max, assim:
let arr = [1, 2, 3, 4, 5];
let max = Math.max(arr[0], arr[1], arr[2], arr[3], arr[4]);
No entanto, neste caso, perdemos toda a universalidade:
nosso código encontrará o valor máximo
apenas para um array de 5 elementos.
E se precisarmos de mais ou menos elementos no array? Existe uma solução! Vamos usar o operador spread:
let arr = [1, 2, 3, 4, 5]
let max = Math.max(...arr);
Este código, apesar de sua simplicidade, é muito
poderoso. Pois Math.max pode aceitar
qualquer número de parâmetros, o que significa que
usando o operador spread podemos usar um array
de qualquer tamanho!
Dado um array com números. Usando Math.min
e spread, exiba na tela o valor mínimo
do array.