diff --git a/src/books.js b/src/books.js index c8119bb..d4859dc 100644 --- a/src/books.js +++ b/src/books.js @@ -38,29 +38,67 @@ // Your code here: -const booksArray = []; +const booksArray = [ + { + title: `The Old Man and the Sea`, + pages: 128, + author: `Ernest Hemingway`, + details: { + language: `English`, + description: `One of Hemingway's most famous works, it tells the story of Santiago...` + } + }, + { + title: `The Airbnb Story`, + pages: 256, + author: `Leight Gallagher`, + details: { + language: `English`, + description: `This is the remarkable behind-the-scenes story of the creation and growth of Airbnb...`, + } + }, + { + title: `Educated - A Memoir`, + pages: 352, + author: `Tara Westover`, + details: { + language: `English`, + description: `Educated is an account of the struggle for self-invention...`, + } + }, + { + title: `The Art of Learning`, + pages: 288, + author: `Josh Waitzkin`, + details: { + language: `English`, + description: `The Art of Learning takes readers through Waitzkin's unique journey to excellence. He explains in clear detail how a well-thought-out, principled approach to learning is what separates success from failure.`, + } + } +]; // Iteration 2 | Book Details -function getBookDetails() { +function getBookDetails(book) { // Your code here: - + return `${book.title} - ${book.author} - ${book.pages} pages`; } // Iteration 3 | Delete Language // Your code here: - - - +booksArray.forEach((book) => { + delete book.details.language; +}); // Iteration 4 | Estimated Reading Time // Your code here: - - +booksArray.forEach((book) => { + book.readingTime = Math.round((book.pages * 500) / 90); +}); // Bonus: Iteration 5 | Books Dictionary @@ -86,11 +124,46 @@ const dictionary = { ], }; -function booksByAuthor() { + +/* + +object = { + title + pages + author + } + +*/ +function booksByAuthor(dictionary) { // Your code here: - + const result = []; + + const writers = Object.keys(dictionary); + + writers.forEach((author) => { + const books = dictionary[author]; + books.forEach((book) => { + const title = book[0]; + const pages = book [1]; + result.push({title, pages, author}); + }); + }); + return result; } +console.log(booksByAuthor(dictionary)); + + + + + + + + + + + + // Bonus: Iteration 6 | Average Page Count