diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6f3a291 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/src/books.js b/src/books.js index c8119bb..e48ba09 100644 --- a/src/books.js +++ b/src/books.js @@ -1,67 +1,62 @@ // Iteration 1 | Books Array - -// Book 1 -// 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... -// } - -// Book 2 -// 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... -// } - -// Book 3 -// title: Educated - A Memoir -// pages: 352 -// author: Tara Westover -// details: { -// language: English -// description: Educated is an account of the struggle for self-invention... -// } - -// Book 4 -// 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. -// } - - // 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 => { + let readingTimeInMin = Math.ceil((book.pages * 500) / 90); + book.readingTime = readingTimeInMin +}) // Bonus: Iteration 5 | Books Dictionary @@ -86,15 +81,33 @@ const dictionary = { ], }; -function booksByAuthor() { +function booksByAuthor(dictionary) { // Your code here: + const newArray = [] + for(let author in dictionary) { + const books = dictionary[author] + + for(let i=0; i < books.length; i++){ + newArray.push({ + author: author, + title: books[i][0], + pages: books[i][1], + }) + } + } + return newArray } - - // Bonus: Iteration 6 | Average Page Count -function averagePageCount() { +function averagePageCount(booksArray) { // Your code here: - + let sum = 0; + + for(let i=0; i < booksArray.length; i++) { + sum += booksArray[i].pages + } + + let average = sum / booksArray.length + return average; }