diff --git a/src/books.js b/src/books.js index c8119bb..d8308c9 100644 --- a/src/books.js +++ b/src/books.js @@ -38,27 +38,79 @@ // 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..." + } + } +]; -// Iteration 2 | Book Details -function getBookDetails() { - // Your code here: +// Iteration 2 | Book Details +function getBookDetails(book) { + return book.title + " - " + book.author + " - " + book.pages + " pages"; } +console.log(getBookDetails(booksArray[3])); + + + // Iteration 3 | Delete Language -// Your code here: +for (let i = 0; i < booksArray.length; i++) { + delete booksArray[i].details.language; +} + +console.log(booksArray); + // Iteration 4 | Estimated Reading Time -// Your code here: +for (let i = 0; i < booksArray.length; i++) { + let readingTime = (booksArray[i].pages * 500) / 90; + booksArray[i].readingTime = Math.ceil(readingTime); +} + +console.log(booksArray); + @@ -86,15 +138,37 @@ const dictionary = { ], }; -function booksByAuthor() { - // Your code here: - +function booksByAuthor(dictionary) { + const result = []; + + for (let author in dictionary) { + let books = dictionary[author]; + + for (let i = 0; i < books.length; i++) { + result.push({ + title: books[i][0], + pages: books[i][1], + author: author + }); + } + } + + return result; } + // Bonus: Iteration 6 | Average Page Count -function averagePageCount() { - // Your code here: - +function averagePageCount(books) { + let total = 0; + + for (let i = 0; i < books.length; i++) { + total += books[i].pages; + } + + return total / books.length; } + + +console.log(averagePageCount(booksArray)); \ No newline at end of file