Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions 8-1/exercicio-1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// Encontre o nome da primeira pessoa autora do livro nascida no ano de 1947.

const assert = require('assert');

const books = [
{
id: 1,
name: 'As Crônicas de Gelo e Fogo',
genre: 'Fantasia',
author: {
name: 'George R. R. Martin',
birthYear: 1948
},
releaseYear: 1991,
},
{
id: 2,
name: 'O Senhor dos Anéis',
genre: 'Fantasia',
author: {
name: 'J. R. R. Tolkien',
birthYear: 1892,
},
releaseYear: 1954,
},
{
id: 3,
name: 'Fundação',
genre: 'Ficção Científica',
author: {
name: 'Isaac Asimov',
birthYear: 1920,
},
releaseYear: 1951,
},
{
id: 4,
name: 'Duna',
genre: 'Ficção Científica',
author: {
name: 'Frank Herbert',
birthYear: 1920,
},
releaseYear: 1965,
},
{
id: 5,
name: 'A Coisa',
genre: 'Terror',
author: {
name: 'Stephen King',
birthYear: 1947
},
releaseYear: 1986,
},
{
id: 6,
name: 'O Chamado de Cthulhu',
genre: 'Terror',
author: {
name: 'H. P. Lovecraft',
birthYear: 1890,
},
releaseYear: 1928,
},
];

function authorBornIn1947() {
// escreva aqui o seu código
return books.find(book => book.author.birthYear === 1947).author.name;

}
console.log(authorBornIn1947());
// assert.strictEqual(authorBornIn1947(), 'Stephen King');
81 changes: 81 additions & 0 deletions 8-1/exercicio-2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
// Retorne o nome do livro de menor nome.


const assert = require('assert');

const books = [
{
id: 1,
name: 'As Crônicas de Gelo e Fogo',
genre: 'Fantasia',
author: {
name: 'George R. R. Martin',
birthYear: 1948
},
releaseYear: 1991,
},
{
id: 2,
name: 'O Senhor dos Anéis',
genre: 'Fantasia',
author: {
name: 'J. R. R. Tolkien',
birthYear: 1892,
},
releaseYear: 1954,
},
{
id: 3,
name: 'Fundação',
genre: 'Ficção Científica',
author: {
name: 'Isaac Asimov',
birthYear: 1920,
},
releaseYear: 1951,
},
{
id: 4,
name: 'Duna',
genre: 'Ficção Científica',
author: {
name: 'Frank Herbert',
birthYear: 1920,
},
releaseYear: 1965,
},
{
id: 5,
name: 'A Coisa',
genre: 'Terror',
author: {
name: 'Stephen King',
birthYear: 1947
},
releaseYear: 1986,
},
{
id: 6,
name: 'O Chamado de Cthulhu',
genre: 'Terror',
author: {
name: 'H. P. Lovecraft',
birthYear: 1890,
},
releaseYear: 1928,
},
];

function smallerName() {
let nameBook;
// escreva aqui o seu código
books.forEach((book) => {
if (!nameBook || book.name.length < nameBook.length) {
nameBook = book.name;
}
});
// Variável nameBook que receberá o valor do menor nome;
return nameBook;
}

assert.strictEqual(smallerName(), 'Duna');
83 changes: 83 additions & 0 deletions 8-1/exercicio-3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
const assert = require('assert');

const books = [
{
id: 1,
name: 'As Crônicas de Gelo e Fogo',
genre: 'Fantasia',
author: {
name: 'George R. R. Martin',
birthYear: 1948
},
releaseYear: 1991,
},
{
id: 2,
name: 'O Senhor dos Anéis',
genre: 'Fantasia',
author: {
name: 'J. R. R. Tolkien',
birthYear: 1892,
},
releaseYear: 1954,
},
{
id: 3,
name: 'Fundação',
genre: 'Ficção Científica',
author: {
name: 'Isaac Asimov',
birthYear: 1920,
},
releaseYear: 1951,
},
{
id: 4,
name: 'Duna',
genre: 'Ficção Científica',
author: {
name: 'Frank Herbert',
birthYear: 1920,
},
releaseYear: 1965,
},
{
id: 5,
name: 'A Coisa',
genre: 'Terror',
author: {
name: 'Stephen King',
birthYear: 1947
},
releaseYear: 1986,
},
{
id: 6,
name: 'O Chamado de Cthulhu',
genre: 'Terror',
author: {
name: 'H. P. Lovecraft',
birthYear: 1890,
},
releaseYear: 1928,
},
];

const expectedResult = {
author: {
birthYear: 1948,
name: 'George R. R. Martin'
},
genre: 'Fantasia',
id: 1,
name: 'As Crônicas de Gelo e Fogo',
releaseYear: 1991
};
// Encontre o primeiro livro cujo nome possui 26 caracteres.
function getNamedBook() {
// escreva seu código aqui
return books.find((element) => element.name.length === 26);

}

assert.deepStrictEqual(getNamedBook(), expectedResult);
116 changes: 116 additions & 0 deletions 8-1/exercicio-4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
const assert = require('assert');

const books = [
{
id: 1,
name: 'As Crônicas de Gelo e Fogo',
genre: 'Fantasia',
author: {
name: 'George R. R. Martin',
birthYear: 1948
},
releaseYear: 1991,
},
{
id: 2,
name: 'O Senhor dos Anéis',
genre: 'Fantasia',
author: {
name: 'J. R. R. Tolkien',
birthYear: 1892,
},
releaseYear: 1954,
},
{
id: 3,
name: 'Fundação',
genre: 'Ficção Científica',
author: {
name: 'Isaac Asimov',
birthYear: 1920,
},
releaseYear: 1951,
},
{
id: 4,
name: 'Duna',
genre: 'Ficção Científica',
author: {
name: 'Frank Herbert',
birthYear: 1920,
},
releaseYear: 1965,
},
{
id: 5,
name: 'A Coisa',
genre: 'Terror',
author: {
name: 'Stephen King',
birthYear: 1947
},
releaseYear: 1986,
},
{
id: 6,
name: 'O Chamado de Cthulhu',
genre: 'Terror',
author: {
name: 'H. P. Lovecraft',
birthYear: 1890,
},
releaseYear: 1928,
},
];

const expectedResult = [
{
id: 1,
name: 'As Crônicas de Gelo e Fogo',
genre: 'Fantasia',
author: { name: 'George R. R. Martin', birthYear: 1948 },
releaseYear: 1991
},
{
id: 5,
name: 'A Coisa',
genre: 'Terror',
author: { name: 'Stephen King', birthYear: 1947 },
releaseYear: 1986
},
{
id: 4,
name: 'Duna',
genre: 'Ficção Científica',
author: { name: 'Frank Herbert', birthYear: 1920 },
releaseYear: 1965
},
{
id: 2,
name: 'O Senhor dos Anéis',
genre: 'Fantasia',
author: { name: 'J. R. R. Tolkien', birthYear: 1892 },
releaseYear: 1954
},
{
id: 3,
name: 'Fundação',
genre: 'Ficção Científica',
author: { name: 'Isaac Asimov', birthYear: 1920 },
releaseYear: 1951
},
{
id: 6,
name: 'O Chamado de Cthulhu',
genre: 'Terror',
author: { name: 'H. P. Lovecraft', birthYear: 1890 },
releaseYear: 1928
}
];
// Ordene os livros por data de lançamento em ordem decrescente.
function booksOrderedByReleaseYearDesc() {
// escreva aqui seu código
return books.sort((elementA, elementB) => elementB.releaseYear - elementA.releaseYear);
}

assert.deepStrictEqual(booksOrderedByReleaseYearDesc(), expectedResult);
Loading