Uma clínica veterinária chamada SenaiPet está digitalizando seu sistema de cadastro e gestão de animais. Você foi contratado como desenvolvedor júnior para criar uma solução inicial que permita:
- Cadastrar animais (nome, espécie e idade);
- Listar animais cadastrados;
- Exibir uma saudação personalizada de cada animal (simulada como se fosse "fala" do animal);
- Calcular a idade do animal em "anos humanos" (para fins fictícios de acompanhamento).
O sistema será executado diretamente no console do navegador.
Implemente um script em JavaScript que atenda aos seguintes requisitos técnicos obrigatórios:
nomeespecieidade
O objeto deve conter também os seguintes métodos:
-
falar: retorna uma string no formato"Oi, eu sou [nome] e sou um [espécie]". -
idadeHumana: retorna a idade do animal convertida para anos humanos com base nas seguintes regras:- Cachorro: idade × 7
- Gato: idade × 6
- Outros: idade × 5
⚠️ Este método deve usarthiscorretamente para acessar os atributos do objeto.
- Uma arrow function para listar todos os pets cadastrados no array, imprimindo no console seus dados no seguinte formato:
Nome: Rex, Espécie: Cachorro, Idade: 5 anos
-
Uma função anônima atribuída a uma constante para buscar um pet pelo nome no array. Esta função deve retornar o objeto correspondente ou uma mensagem
"Pet não encontrado". -
Uma função de ordem superior (que recebe outra função como parâmetro) chamada
executarAcaoNosPetsque percorre todos os pets e executa a função recebida. O parâmetro será sempre uma função anônima ou uma arrow function.
- Não é permitido utilizar classes (
class). - Não é permitido utilizar
promptou qualquer input externo (apenas dados simulados no código). - As funções devem ser criadas obrigatoriamente usando os formatos solicitados (arrow function, função anônima atribuída a variável, função de ordem superior).
- O método
falardeve obrigatoriamente utilizarthiscorretamente.
const meusPets = [
new Pet("Rex", "Cachorro", 5),
new Pet("Mimi", "Gato", 3),
new Pet("Pingo", "Coelho", 2)
];- Repositório no GitHub com os arquivos
.htmle.jscontendo o código funcional. - Comentários no código explicando onde foram aplicados cada conceito (arrow function, função anônima, this, função de ordem superior).
Implemente uma função que permita remover um pet do array meusPets pelo nome, utilizando uma arrow function combinada com o método filter().
Oi, eu sou Rex e sou um Cachorro
Idade humana de Rex: 35 anos
Pet encontrado: Mimi, espécie: Gato, idade: 3 anos
Nome: Rex, Espécie: Cachorro, Idade: 5 anos
Nome: Mimi, Espécie: Gato, Idade: 3 anos
Nome: Pingo, Espécie: Coelho, Idade: 2 anos