Uma Função para retornar o menor número
Postado em
3 min de leitura
Problema
Em Mais um dia normal de trabalho, me deparei com a seguinte situação
-
Um campo do tipo input no meu formulário, chamado valor considerado, será preenchido automaticamente com um valor. Esse valor, sairá de uma lógica entre outros dois campos:
- Valor da mensalidade, e
- Valor do teto
Regra:
- Caso o valor do teto seja maior do que o valor da mensalidade, o campo “valor considerado” será preenchido com o valor da mensalidade.
- Caso o valor do teto seja menor do que o valor da mensalidade, o campo “valor considerado” será preenchido com o valor do teto.
Fácil! Eu pensei!
Logo coloquei a mão na massa:
function retornaMenorValor (valorinformado , valorteto, resultado) {
if( valorinformado > valorteto) return resultado = Number(valorteto);
if( valorinformado < valorteto) return resultado = Number(valorinformado);
if( valorinformado == valorteto) return resultado = Number(valorteto);
};
Depois de fazer esse “Frankenstein”
Me perguntei: Deve existir um jeito melhor de fazer isso, e existe, por isso criei esse post.
Math.min()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min
Me deparei esse método e me senti um idiota…
Minha nova função ficaria:
const retornaMenorValor = (valorinformado , valorteto) => Math.min(valorinformado , valorteto);
Sim, tudo em apenas uma linha, e aí melhorando ainda mais a função, deixando ela livre para receber quantos valores quiser:
const retornaMenorValor = (...valores) => Math.min(...valores);
Dessa forma, posso adicionar quantos valores quiser!
Gostou ?
Comenta aí