Desafio 01:
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) {
const livroBuscado = biblioteca.find((livro) => livro.id === id);
// if(livroBuscado) {
// console.log(livroBuscado);
// } else {
// console.log(null);
// }
return livroBuscado ? console.log(livroBuscado) : console.log(null);
};
encontrarLivroPorID(3);
encontrarLivroPorID(8);
Desafio 02:
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 filtrarFilmesPorAno(lista, ano) {
return lista.filter((filme) => filme.anoLancamento === ano);
};
console.log(filtrarFilmesPorAno(catalogoFilmes, 2010));
console.log(filtrarFilmesPorAno(catalogoFilmes, 1993));
console.log(filtrarFilmesPorAno(catalogoFilmes, 1999));
Desafio 03:
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 filtrarOrdenarProdutosPorPreco(maxPreco, propriedade) {
const produtosBaratos = listaProdutos.filter((produto) => produto.preco <= maxPreco);
return produtosBaratos.sort((a, b) => {
if(a[propriedade] < b[propriedade]) return -1;
if(a[propriedade] > b[propriedade]) return 1;
return 0;
});
};
console.log(filtrarOrdenarProdutosPorPreco(25.99, 'preco'));
Desafio 04:
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) {
if(a.idade < b.idade) return -1;
if(a.idade > b.idade) return 1;
return 0;
};
const animaisOrdenadosCrescente = ordenarAnimais(compararIdadeCrescente);
console.log(animaisOrdenadosCrescente);
function compararIdadeDecrescente(a, b) {
if(a.idade > b.idade) return -1;
if(a.idade < b.idade) return 1;
return 0;
};
const animaisOrdenadosDcrescente = ordenarAnimais(compararIdadeDecrescente);
console.log(animaisOrdenadosDcrescente);
Desafio 05:
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 `Funcionário com o id ${id} não encontrado`;
};
const funcionarioBuscado = encontrarFuncionarioPorId(202);
console.log(funcionarioBuscado);