From 6a7c1dee6cb900c881290074a00c3133738ca3a4 Mon Sep 17 00:00:00 2001 From: York Date: Tue, 16 Jul 2024 09:40:55 +0100 Subject: [PATCH] add solution --- 04 - Array Cardio Day 1/index-START.html | 45 ++++++++++++++++++++++++ 07 - Array Cardio Day 2/index-START.html | 18 ++++++++++ 2 files changed, 63 insertions(+) diff --git a/04 - Array Cardio Day 1/index-START.html b/04 - Array Cardio Day 1/index-START.html index 0dcfd00f40..b6117d68cf 100644 --- a/04 - Array Cardio Day 1/index-START.html +++ b/04 - Array Cardio Day 1/index-START.html @@ -38,28 +38,73 @@ // 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 oldestFirst = inventors.sort( (a,b) => a.year < b.year ? 1 : -1); + console.table(oldestFirst); + // 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) => { + let first = a.passed - a.year; + let second = b.passed - b.year; + return first < second ? 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 + // const category = document.querySelector(".mw-category"); + // const links = [...category.querySelectorAll('a')]; + + // const de = links + // .map(link => link.textContent) + // .filter(streetName => streetName.includes('de')); + + // 7. sort Exercise // Sort the people alphabetically by last name + const sortedPeople = people.sort(function(lastOne, nextOne) { + const [aLast, aFirst] = lastOne.split(', '); + const [bLast, bFirst] = nextOne.split(', '); + return aLast > bLast ? 1 : -1; + }) + console.log(sortedPeople); + + // 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 (!(item in obj)) obj[item] = 0; + obj[item]++; + return obj; + }, {}); + + console.log(transportation); + diff --git a/07 - Array Cardio Day 2/index-START.html b/07 - Array Cardio Day 2/index-START.html index 4ca34c7536..cdf32585cd 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07 - Array Cardio Day 2/index-START.html @@ -27,16 +27,34 @@ // Some and Every Checks // Array.prototype.some() // is at least one person 19 or older? + + + const isAdult = people.some( (person) => { + const currentYear = (new Date()).getFullYear(); + if ( currentYear - person.year >= 19) return true; + }); + + console.log(isAdult); + // Array.prototype.every() // is everyone 19 or older? + const allAdult = people.every( person => ((new Date()).getFullYear()) - person.year >= 19); + console.log(allAdult); + // 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( (comment) => comment.id === 823423) + console.log(comment); + // Array.prototype.findIndex() // Find the comment with this ID // delete the comment with the ID of 823423 + const deleted = comments.findIndex( comment => comment.id === 823423); + comments.splice(deleted, 1); +