Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Exercício 4 - Array com For Clássico

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);
1 resposta
solução!

Oi Eduardo,

Excelente observação! 👍 Você identificou corretamente o problema no código original. A inicialização das variáveis maior e menor com o valor 0 causa um comportamento incorreto quando todos os números do array são positivos, pois o menor valor nunca será atualizado.

Sua solução está perfeita! Ao inicializar menorValor e maiorValor com o primeiro elemento do array, você garante que a comparação seja feita corretamente, encontrando o menor e o maior valor, independentemente dos valores do array. 💪

Veja mais: JavaScript Arrays

Continue praticando e aprofundando seus conhecimentos! 💻

tux matrix Caso este post o tenha ajudado, por favor, marcar como solucionado ☑️. Bons Estudos! 🤓