Pessoal, Tudo bem?
Encontrei um bug no código da solução que foi postado no GIT em caso de um dos elementos do array não for menor que 0. Devido a declaração da variável menor ser 0, sempre será 0 o menor valor.
Abaixo o código com Bug quando todos os elementos deste array forem maiores que 0. Neste caso, eu alterei o último elemento de -5 para 1.
const arrMenoresMaiores = [5, 37, 18, 59, 12, 1];
function imprimeMaiorEMenor(arr) {
let maior = 0;
let menor = 0;
for(let i = 0; i < arr.length; i++) {
if (arr[i] > maior) {
maior = arr[i]
}
if (arr[i] < menor) {
menor = arr[i]
}
}
return `o maior número é ${maior} e o menor número é ${menor}`;
}
console.log(imprimeMaiorEMenor(arrMenoresMaiores));
Minha proposta de código:
const numeros = [54, 45, 0, 1, 74, 33, 79, -11, 500];
function detalhandoElementos(arrayDeNumeros) {
let menorValor = arrayDeNumeros[0];
let maiorValor = arrayDeNumeros[0];
for(let idx = 0; idx < arrayDeNumeros.length; idx++) {
if (arrayDeNumeros[idx] < menorValor) {
menorValor = arrayDeNumeros[idx];
}
if (arrayDeNumeros[idx] > maiorValor) {
maiorValor = arrayDeNumeros[idx];
}
}
return console.log(`O menor número é: ${menorValor} e o maior número é: ${maiorValor}`);
}
detalhandoElementos(numeros);