InstruçÔes
Construir um Organizador de Livros
Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratĂłrio.
HistĂłrias de UsuĂĄrio:
1. VocĂȘ deve ter um array de objetos chamado
books onde cada objeto no array deve ter uma string title, outra string authorName e um nĂșmero releaseYear.
2. Seu array books deve conter no mĂnimo trĂȘs objetos.
3. VocĂȘ deve ter uma função de callback chamada sortByYear que aceita dois livros como parĂąmetro para ordenar o array.
4. A função sortByYear deve retornar -1 se o releaseYear do primeiro livro for menor que o do segundo livro.
5. A função sortByYear deve retornar 1 se o releaseYear do primeiro livro for maior que o do segundo livro.
6. A função sortByYear deve retornar 0 se ambos os valores de releaseYear forem iguais.
7. VocĂȘ deve filtrar os livros escritos apĂłs um determinado ano, como 1950, do array books e salvar o array filtrado em um novo array chamado filteredBooks.
8. VocĂȘ deve ordenar os livros no array filteredBooks de acordo com seu releaseYear em ordem crescente. You learned in a prior lesson that the sort() method will sort the array in place. Isso significa que o array filteredBooks serĂĄ modificado.
O que fazer:
Testes:
- VocĂȘ deve ter uma função `sortByYear` no seu cĂłdigo.
- Sua função `sortByYear` deve receber dois parùmetros.
- Sua função `sortByYear` deve retornar `-1` se o `releaseYear` do objeto `book1` for menor que o do objeto `book2`, `1` se o `releaseYear` do objeto `book1` for maior que o do objeto `book2`, e `0` em todos os outros cenårios.
- VocĂȘ deve ter um array `books` no seu cĂłdigo.
- Seu array `books` deve conter pelo menos trĂȘs objetos de livro.
- Seu array `books` deve conter objetos, cada um com uma string `title`, outra string `authorName` e um nĂșmero `releaseYear`.
- VocĂȘ deve ter um array `filteredBooks` no seu cĂłdigo.
- O array `filteredBooks` deve conter alguns dos livros filtrados do array `books` e nĂŁo deve estar vazio.
- O array `filteredBooks` deve conter apenas livros do array original `books`.
- O array `filteredBooks` deve incluir apenas livros lançados em ou antes de um ano especificado.
- VocĂȘ deve chamar a função de ordem superior `sort` passando a função de callback `sortByYear` no array `filteredBooks`.
Preview