1
resposta

[Dúvida] 15. Desafios: exercícios - Conhecendo Arrays

No Exercício 5 de Javascript - Conhecendo Arrays:

"Desenvolva um programa em Node.js que simule uma clínica veterinária. Crie um array vazio chamado clinica que representará a fila de animais na clínica. Em um primeiro momento, simule a chegada de três animais diferentes e exiba a lista de animais no console. Após a exibição, remova os animais da lista um por vez e, por fim, exiba no console o estado final da lista."

Eu fiz esse reverse pra dar uma sensação de que o primeiro da fila foi atendido primeiro, já que o .pop() sempre retira o último da fila. Isso é uma pratica comum no desenvolvimento? Essa seria a melhor forma?

let clinica = [];

clinica.push('Cachorro');
clinica.push('Papagaio');
clinica.push('Tartaruga');

console.log(clinica);

for (let i = 0; i <= clinica.length+1; i++) {
    clinica.reverse();
    clinica.pop();
    console.log(clinica.reverse(), i);
}
1 resposta

Oi Gustavo! Tudo certo?

O método .pop() realmente remove o último elemento do array, mas para simular uma fila (onde o primeiro a entrar é o primeiro a sair), o método mais adequado seria o .shift(). O .shift() remove o primeiro elemento do array, o que se alinha melhor com a ideia de uma fila.

Aqui está um exemplo de como você pode implementar isso:

let clinica = [];

clinica.push('Cachorro');
clinica.push('Papagaio');
clinica.push('Tartaruga');

console.log(clinica);

while (clinica.length > 0) {
    clinica.shift();
    console.log(clinica);
}

Dessa forma, você não precisa usar o .reverse(), e o código fica mais simples e direto. O uso do .shift() é uma prática comum quando se quer simular filas em programação.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.