diff --git a/04 - Array Cardio Day 1/index-START.html b/04 - Array Cardio Day 1/index-START.html index 0dcfd00f40..b56e79512b 100644 --- a/04 - Array Cardio Day 1/index-START.html +++ b/04 - Array Cardio Day 1/index-START.html @@ -39,28 +39,114 @@ // Array.prototype.filter() // 1. Filter the list of inventors for those who were born in the 1500's + const fifteen = inventors.filter(item => item.year >= 1500 && item.year < 1600); + + console.table(fifteen); + + /* longer version: + const fifteen = inventors.filter(function(inventor) { + if (inventor.year >= 1500 && inventor.year < 1600) { + return true; + } else { + return false; + } + }); + */ + // Array.prototype.map() // 2. Give us an array of the inventors first and last names + const fullNames = inventors.map(inventor => inventor.first + ' ' + inventor.last); + + /* 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); + + /* const sorted = inventors.sort(function(a, b) { + if (a.year > b.year) { + return 1; + } else { + return -1; + } + });*/ + // 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 sortedByYears = inventors.sort( (a, b) => { + (a.passed - a.year) - (b.passed - b.year) + }); */ + + const sortedByYears = inventors.sort(function(a, b){ + if ((a.passed - a.year) > (b.passed - b.year)){ + return 1; + } else { + return -1; + } + }); + + console.table(sortedByYears); + // 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 = Array.from(category.querySelectorAll('a')); + // // 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 alpha = people.sort((lastOne, nextOne) => { + const [aLast, aFirst] = lastOne.split(', '); + const [bLast, bFirst] = nextOne.split(', '); + return aLast > bLast ? 1 : -1; + }); + console.log(alpha); + + + /* const lastNames = people.sort( (a, b) => { + const [aLast] = a.split(', '); + const [bLast] = b.split(', '); + return aLast.localeCompare(bLast); + }); */ + + + // 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); + + diff --git a/07 - Array Cardio Day 2/index-START.html b/07 - Array Cardio Day 2/index-START.html index 4ca34c7536..5c32ddbc46 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07 - Array Cardio Day 2/index-START.html @@ -29,14 +29,47 @@ // Array.prototype.some() // is at least one person 19 or older? // Array.prototype.every() // is everyone 19 or older? + // const isAdult = people.some(function(person){ + // if (2025 - (person.year) >= 19){ + // return true; + // } + // }); + + const isAdult = people.some(person => + ((new Date()).getFullYear()) - person.year >= 19 ); + + console.log({isAdult}); + + const areAdults = people.every(person => + ((new Date()).getFullYear()) - person.year >= 19 ); + + console.log({areAdults}); + + // 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 + + const index = comments.findIndex(comment => comment.id === 823423); + + console.log(index); + // delete the comment with the ID of 823423 + // comments.splice(index, 1); + + const newComments = [ + comments.slice(0, index), + comments.slice(index + 1) + ]; +