1
resposta

[Projeto] PRÁTICA COM ATIVIDADES: RESPOSTA;

ATIVIDADE 1


const biblioteca = [
    { id: 1, titulo: "O Senhor dos Anéis", autor: "J.R.R. Tolkien", anoPublicacao: 1954 },
    { id: 2, titulo: "Dom Quixote", autor: "Miguel de Cervantes", anoPublicacao: 1605 },
    { id: 3, titulo: "1984", autor: "George Orwell", anoPublicacao: 1949 }
]

function encontrarLivroPorID(id) {
   return biblioteca.find(livro => livro.id === id || null);
}

const livroEncontrado = encontrarLivroPorID(2);
const livroNaoEncontrado = encontrarLivroPorID(5);

console.log('LIVRO ENCONTRADO(ID 2):');
console.log(livroEncontrado);

console.log('LIVRO COM ID INEXISTENTE(ID 5):');
console.log(livroNaoEncontrado); //saída: undefined

ATIVIDADE 2

const catalogoFilmes = [
    { id: 1, titulo: "Matrix", diretor: "Lana Wachowski", anoLancamento: 1999 },
    { id: 2, titulo: "Jurassic Park", diretor: "Steven Spielberg", anoLancamento: 1993 },
    { id: 3, titulo: "Inception", diretor: "Christopher Nolan", anoLancamento: 2010 }
]

function filtrarFilmePorAno(ano) {
    return catalogoFilmes.find((filme) => filme.anoLancamento === ano || null);
}

const filmeEncontrado = filtrarFilmePorAno(1999);
const filmeNaoEncontrado = filtrarFilmePorAno(1998);

console.log('Filme encontrado no Ano "1999":');
console.log(filmeEncontrado);

console.log('Filme não encontrado (1998):');
console.log(filmeNaoEncontrado); //saída: undefined

ATIVIDADE 3

const listaProdutos = [
    { id: 1, nome: "Camiseta", preco: 25.99 },
    { id: 2, nome: "Calça Jeans", preco: 49.99 },
    { id: 3, nome: "Tênis", preco: 79.99 },
    { id: 4, nome: "Boné", preco: 15.99 }
]

function filtrarProdutosPorPreco(maxPreco) {
    const produtosFiltrados = listaProdutos.filter(produto => produto.preco <= maxPreco)
    return produtosFiltrados.sort((a, b) => a.preco - b.preco);
}

const preco = 50.00;
const precoMaximoEstabelecido = filtrarProdutosPorPreco(preco);

console.log(`PRODUTOS COM VALOR INFERIOR À ${preco}:`)
console.log(precoMaximoEstabelecido);

ATIVIDADE 4

const animais = [
    { id: 1, nome: "Leão", especie: "Felino", idade: 5 },
    { id: 2, nome: "Elefante", especie: "Mamífero", idade: 10 },
    { id: 3, nome: "Pinguim", especie: "Ave", idade: 3 }
]

function ordenarAnimais(comparacao) {
    return animais.sort(comparacao)
}

function compararIdadeCrescente(a, b) {
    return a.idade - b.idade;
}

function compararIdadeDecrescente(a, b) {
    return b.idade - a.idade;
}

console.log('ANIMAIS ORDENADOS PELA IDADE DE FORMA:')

console.log('CRESCENTE:');
console.log(ordenarAnimais(compararIdadeCrescente));

console.log('DECRESCENTE:');
console.log(ordenarAnimais(compararIdadeDecrescente));

ATIVIDADE 5

const departamentos = [
    {
        id: 1,
        nome: "Vendas",
        funcionarios: [
            { id: 101, nome: "Ana", cargo: "Vendedor" },
            { id: 102, nome: "Carlos", cargo: "Gerente de vendas" }
        ]
    },
    {
        id: 2,
        nome: "TI",
        funcionarios: [
            { id: 201, nome: "Maria", cargo: "Desenvolvedor" },
            { id: 202, nome: "João", cargo: "Analista de sistemas" }
        ]
    }
];

function encontrarFuncionarioPorId(id) {
    for (const departamento of departamentos) {
        const funcionarioEncontrado = departamento.funcionarios.find(funcionario => funcionario.id === id);
        if (funcionarioEncontrado) {
            return funcionarioEncontrado;
        }
    }
    return null;
}

const funcionarioEncontrado1 = encontrarFuncionarioPorId(201);
console.log("Funcionário encontrado (ID 201):");
console.log(funcionarioEncontrado1);

const funcionarioEncontrado2 = encontrarFuncionarioPorId(103);
console.log("\nFuncionário encontrado (ID 103):");
console.log(funcionarioEncontrado2)
1 resposta

Olá Saturn, tudo bem com você?

Meus parabéns pela resolução das atividades. Gostaria de aproveitar a oportunidade e deixar algumas recomendações.

No código da primeira atividade, á um pequeno erro na forma que está ocorrendo a tentativa de retornar null quando o livro não é encontrado. O operador || null ele deve ficar fora do método find, assim, caso um livro não seja encontrado, será retornado o valor null. Abaixo o código corrigido:

function encontrarLivroPorId(id) {
    return biblioteca.find(livro => livro.id === id) || null;
}

Essa dica, também vale para a segunda atividade. Fazendo a correção da função filtrarFilmePorAno temos o seguinte código:

function filtrarFilmePorAno(ano) {
    return catalogoFilmes.find((filme) => filme.anoLancamento === ano ) || null;
}

As outras atividades estão corretas e atendem o esperado.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

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