O Zoo Functions foi desenvolvido durante o módulo de fundamentos na Trybe, ele foi proposto como forma de praticar HOFs, Higher Order Functions, que são funções que aceitam outras funções como parâmetros e também podem retornar uma função.
A estrutura pretendida simulava uma aplicação de relatório de um zoológico; com sistema de informações a respeito dos animais presentes no zoológico, colaboradores, horários de funcionamento e uma tabela de preços variando de acordo com a idade das pessoas que o visitam.
O Visual Studio Code (VS Code) é um editor de código para Windows, Linux e macOS. O VS Code é de código aberto e permite a inserção de muitas ferramentas que auxiliam o desenvolvimento; tais como o versionamento e complementação inteligente de código, bem como algo que foi fundamental para este projeto, a depuração de código.
A linguagem utilizada no desenvolvimento do projeto foi o JavaScript (JS), uma linguagem de programação interpretada estruturada, com tipagem dinâmica fraca. Utilizando o JS, foi possível implementar uma série de métodos nativos e facilitadores da manipulação de arrays, tais como for map, filter e reducer.
- Utilizar funções de diferentes formas, bem como reutilizar lógicas de códigos;
- Aplicar o conceito de Higher Order Functions com JS;
- Compreender o que é uma linguagem First-Class Functions;
- Utilizar a função Array.
forEach
para iterar sobre todos os elementos de um array; - Utilizar a função Array.
find
para encontrar o primeiro elemento de um array que satisfaça a uma condição; - Utilizar as funções Array.
some
e Array.every
para testar se os elementos de um array satisfazem a uma condição; - Utilizar a função Array.
sort
para ordenar arrays de acordo com algum critério; - Utilizar a função Array.
map
para manipular e construir arrays; - Utilizar a função Array.
filter
para filtrar um array; - Utilizar a função Array.
reduce
para manipular e construir arrays; - Utilizar essas HOFs de forma conjunta; -Aplicar corretamente spread operator, parâmetro rest, object destructuring, array destructuring, default destructuring, abbreviation object literal, default params.