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