From 208825b5508d1ac35ec948ca573b050be18305de Mon Sep 17 00:00:00 2001 From: John Doe Date: Fri, 17 Jan 2025 17:17:42 +0100 Subject: [PATCH] Solved Lab --- src/books.js | 95 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 20 deletions(-) diff --git a/src/books.js b/src/books.js index c8119bb..aab229d 100644 --- a/src/books.js +++ b/src/books.js @@ -38,28 +38,83 @@ // 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 Hemingways 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 Waitzkins 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.language; + if (book.details && book.details.language) { + delete book.details.language; + } +}); +console.log(booksArray); // Iteration 4 | Estimated Reading Time // Your code here: +booksArray.forEach(book => { + book.readingTime = Math.floor((book.pages * 500) / 90); +}); +console.log(booksArray); @@ -69,26 +124,26 @@ function getBookDetails() { The book info is stored in arrays with structure: [title, pages]. */ const dictionary = { - "J. K. Rowling": [ - ["Harry Potter and the Philosopher's Stone", 223], - ["Harry Potter and the Chamber of Secrets", 251], - ["Harry Potter and the Prisoner of Azkaban", 317], - ["Harry Potter and the Goblet of Fire", 636], - ], - "Neal Stephenson": [ - ["Cryptonomicon", 928], - ["Anathem", 1008], - ["Fall; or, Dodge in Hell", 896], - ], - "Malcolm Gladwell": [ - ["Outliers", 320], - ["Blink", 287], - ], + "J. K. Rowling": [ + ["Harry Potter and the Philosopher's Stone", 223], + ["Harry Potter and the Chamber of Secrets", 251], + ["Harry Potter and the Prisoner of Azkaban", 317], + ["Harry Potter and the Goblet of Fire", 636], + ], + "Neal Stephenson": [ + ["Cryptonomicon", 928], + ["Anathem", 1008], + ["Fall; or, Dodge in Hell", 896], + ], + "Malcolm Gladwell": [ + ["Outliers", 320], + ["Blink", 287], + ], }; function booksByAuthor() { // Your code here: - + } @@ -96,5 +151,5 @@ function booksByAuthor() { // Bonus: Iteration 6 | Average Page Count function averagePageCount() { // Your code here: - + }