From ab08c40a7a22ea87d072aab4ad20e2a5611f9796 Mon Sep 17 00:00:00 2001 From: Jonah Date: Tue, 17 Sep 2024 22:40:14 +0900 Subject: [PATCH 1/3] COMPLETE: Javascript30 Array Exercise 1 --- 04 - Array Cardio Day 1/index-START.html | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/04 - Array Cardio Day 1/index-START.html b/04 - Array Cardio Day 1/index-START.html index 0dcfd00f40..1b68651cb3 100644 --- a/04 - Array Cardio Day 1/index-START.html +++ b/04 - Array Cardio Day 1/index-START.html @@ -38,17 +38,33 @@ // Array.prototype.filter() // 1. Filter the list of inventors for those who were born in the 1500's + const fifteen = inventors.filter(inventor => (inventor.year >= 1500 && inventor.year < 1600)); + console.table(fifteen); // Array.prototype.map() // 2. Give us an array of the inventors first and last names + const fullnames = inventors.map(inventor => `${inventor.first} ${inventor.last}`); + console.log(fullnames); // Array.prototype.sort() // 3. Sort the inventors by birthdate, oldest to youngest + const ordered = inventors.sort((a, b) => a.year > b.year ? 1 : -1); + console.table(ordered); // Array.prototype.reduce() // 4. How many years did all the inventors live all together? + const totalYears = inventors.reduce((total, inventor) => { + return total + (inventor.passed - inventor.year); + }, 0); + console.log(totalYears); // 5. Sort the inventors by years lived + const oldest = inventors.sort((a, b) => { + const lastGuy = a.passed - a.year; + const newGuy = b.passed - b.year; + return lastGuy > newGuy ? -1 : 1; + }); + console.table(oldest); // 6. create a list of Boulevards in Paris that contain 'de' anywhere in the name // https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris @@ -56,11 +72,27 @@ // 7. sort Exercise // Sort the people alphabetically by last name + const alpha = people.sort((a, b) => { + const [aLast, aFirst] = a.split(", "); + const [bLast, bFirst] = b.split(", "); + return aLast > bLast ? 1 : -1; + }); + console.log(alpha); // 8. Reduce Exercise // Sum up the instances of each of these const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ]; + const transportation = data.reduce((obj, item) => { + if(!obj[item]){ + obj[item] = 0; + } + obj[item]++; + return obj; + }, {}); + + console.log(transportation); + From 3c80bf316b9ea35475b0aaeedbe36c452a9feffa Mon Sep 17 00:00:00 2001 From: Jonah Date: Wed, 18 Sep 2024 08:21:08 +0900 Subject: [PATCH 2/3] COMPLETE: Javascript30 Array Exercise Day 2 --- 07 - Array Cardio Day 2/index-START.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/07 - Array Cardio Day 2/index-START.html b/07 - Array Cardio Day 2/index-START.html index 4ca34c7536..1c2123e85a 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07 - Array Cardio Day 2/index-START.html @@ -27,15 +27,29 @@ // Some and Every Checks // Array.prototype.some() // is at least one person 19 or older? + const currentYear = (new Date()).getFullYear(); + const isAdult = people.some((person) => (currentYear - person.year >= 19)); + console.log({isAdult}); // Array.prototype.every() // is everyone 19 or older? + const allAdults = people.every((person) => (currentYear - person.year >= 19)); + console.log({allAdults}); // Array.prototype.find() // Find is like filter, but instead returns just the one you are looking for // find the comment with the ID of 823423 + const comment = comments.find(a => (a.id == 823423)); + console.log(comment); // Array.prototype.findIndex() // Find the comment with this ID // delete the comment with the ID of 823423 + const index = comments.findIndex(a => a.id == 823423); + const newComments = [ + ...comments.slice(0, index), + ...comments.slice(index + 1), + ]; + console.table(comments); + console.table(newComments); From 4c16f3559f61c11da5aa389dd73860a524bca864 Mon Sep 17 00:00:00 2001 From: Jonah Date: Wed, 18 Sep 2024 08:40:57 +0900 Subject: [PATCH 3/3] Added Comment on ... spreading. --- 07 - Array Cardio Day 2/index-START.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/07 - Array Cardio Day 2/index-START.html b/07 - Array Cardio Day 2/index-START.html index 1c2123e85a..1f06c2fa38 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07 - Array Cardio Day 2/index-START.html @@ -47,7 +47,7 @@ const newComments = [ ...comments.slice(0, index), ...comments.slice(index + 1), - ]; + ]; // ... to spread into array console.table(comments); console.table(newComments);