3 formas de extrair valor mínimo e máximo em um array usando Javascript !!spoiler!! a terceira forma é um filé.
05/13/2020

2:00 PM – Professor, estou querendo descobrir o valor máximo e o menor valor de um array de números. Já tentei usar essas funções max e min que tem na biblioteca Math e nada.
vou mandar meu código pro senhor ver, ah desculpa enviar isso a uma hora dessa.

let notas = [6.5, 4.3, 8.75, 9, 3];
Math.max(notas);
Math.min(notas);

2:01 PM A resposta que sai é NaN. Help me!

Já vi daqui o seu problema, jovem chimpanzé, e vou te ajudar a encontrar a melhor solução! Mas antes temos que considerar algumas coisas sobre as funções max e min da biblioteca Math:

  1. Ambas precisam que números sejam passados como argumentos, caso não seja passado nenhum, o resultado será -Infinity (max) ou Infinity(min).
  2. Caso algum dos argumentos passados não possa ser convertido para número o retorno é NaN.

No seu caso, você está tentando passar um array, vamos considerar três alternativas, e a última eu acho que é mais bacana.

1 – Utilizando o método reduce()

esqueleto do método:
array.reduce((s, a)=> ‘operação com s e a’);

Em geral o método reduce() é utilizado para somar todos os elementos de um array. Mas, no seu caso, podemos utilizá-lo para comparar par por par de elementos do array e ficar só com o menor ao final. da seguinte forma:

notas.reduce((a,b)=>Math.max(a,b))
notas.reduce((a,b)=>Math.min(a,b))

2 – usando o apply : O ES6/ES2015 ajudando de montão.

Math.max.apply(Mathnotas);
Math.min.apply(Mathnotas);

Essa é a hora de você dizer “E era só isso?”.
Indica-se que deva ser usado em arrays com poucos elementos, mas o melhor está ainda por vir, o terceiro modo é um filezinho.

3 – Três pontinhos do poder 😀

Nobre chimpa, entenda que todo o problema residia no fato de você estar tentando desde o início empurrar um array pela goela do Math.max() e do seu irmão Math.min(). A partir de agora você vai espalhar os elementos do array dentro desse método utilizando o spread operator.

Math.max(…notas) ;
Math.min(…notas)

e voilá, meu amigo. Em outra postagem falarei mais sobre o poder do spread operator, usos, aplicações e sobre seu gêmeo o rest operator.

Todo o diálogo foi fictício porém baseado em fatos reais.

Vamos continuar essa conversa lá nas minhas redes sociais!

Outras postagens

Signos Do Zodíaco

Meu conhecimento de zodíaco, horóscopo e qualquer coisa correlata se resume às horas que gastei assistindo Cavaleiros do Zodíaco. Mas, isso não ia me impedir de ilustrar esses símbolos que tanto recheiam o imaginário das pessoas. Só que fiz no estilo xilogravura, que...

A jornada do professor

A vida é recheada de encontros únicos e irrepetíveis, cada disciplina que temos a oportunidade de ministrar ou de ser aluno, enseja muitas oportunidades e aprendizados. A disciplina de Prática de Ensino em Administração no período 2021.2 no PPGA da UFPB, fortaleceu...

Seu Luiz, o homem que inventou o Nordeste

Nós nordestinos crescemos com uma identificação simbólica muito marcada pelo cruzamento de diversas culturas. Indígenas de diversas etnias, africanos de diversos países e reinos, europeus, judeus, turcos, eslavos, enfim, o caldeirão onde o Nordeste brasileiro foi...