-
-
Save fresh5447/ead83d5cdec299c2b4f43196f4aa471d to your computer and use it in GitHub Desktop.
js-30 array cardio day 4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const inventors = [ | |
{ first: 'Albert', last: 'Einstein', year: 1879, passed: 1955 }, | |
{ first: 'Isaac', last: 'Newton', year: 1643, passed: 1727 }, | |
{ first: 'Galileo', last: 'Galilei', year: 1564, passed: 1642 }, | |
{ first: 'Marie', last: 'Curie', year: 1867, passed: 1934 }, | |
{ first: 'Johannes', last: 'Kepler', year: 1571, passed: 1630 }, | |
{ first: 'Nicolaus', last: 'Copernicus', year: 1473, passed: 1543 }, | |
{ first: 'Max', last: 'Planck', year: 1858, passed: 1947 }, | |
{ first: 'Katherine', last: 'Blodgett', year: 1898, passed: 1979 }, | |
{ first: 'Ada', last: 'Lovelace', year: 1815, passed: 1852 }, | |
{ first: 'Sarah E.', last: 'Goode', year: 1855, passed: 1905 }, | |
{ first: 'Lise', last: 'Meitner', year: 1878, passed: 1968 }, | |
{ first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 } | |
]; | |
const people = ['Beck, Glenn', 'Becker, Carl', 'Beckett, Samuel', 'Beddoes, Mick', 'Beecher, Henry', 'Beethoven, Ludwig', 'Begin, Menachem', 'Belloc, Hilaire', 'Bellow, Saul', 'Benchley, Robert', 'Benenson, Peter', 'Ben-Gurion, David', 'Benjamin, Walter', 'Benn, Tony', 'Bennington, Chester', 'Benson, Leana', 'Bent, Silas', 'Bentsen, Lloyd', 'Berger, Ric', 'Bergman, Ingmar', 'Berio, Luciano', 'Berle, Milton', 'Berlin, Irving', 'Berne, Eric', 'Bernhard, Sandra', 'Berra, Yogi', 'Berry, Halle', 'Berry, Wendell', 'Bethea, Erin', 'Bevan, Aneurin', 'Bevel, Ken', 'Biden, Joseph', 'Bierce, Ambrose', 'Biko, Steve', 'Billings, Josh', 'Biondo, Frank', 'Birrell, Augustine', 'Black, Elk', 'Blair, Robert', 'Blair, Tony', 'Blake, William']; | |
// Array.prototype.filter() | |
// 1. Filter the list of inventors for those who were born in the 1500's | |
const oldPeeps = inventors.filter(function(inventor){ | |
return inventor.year >= 1500 && inventor.year < 1600 | |
}); | |
// console.table(oldPeeps) | |
// Array.prototype.map() | |
// 2. Give us an array of the inventors' first and last names | |
const inventorNames = inventors.map((inventor) => { | |
return inventor.first + " " + inventor.last | |
}) | |
// console.log(inventorNames) | |
// Array.prototype.sort() | |
// 3. Sort the inventors by birthdate, oldest to youngest | |
const inventorAges = inventors.sort((a, b) => | |
a.year > b.year ? 1 : -1 | |
); | |
// console.table(inventorAges) | |
// Array.prototype.reduce() | |
// 4. How many years did all the inventors live? | |
const inventorTotalAge = inventors.reduce((ageTotal, inventor) =>{ | |
return ageTotal + (inventor.passed - inventor.year); | |
}, 0); | |
// console.log(inventorTotalAge); | |
// 5. Sort the inventors by years lived | |
const inventorAgeSort = inventors.sort((a, b) => { | |
const youngerInventor = a.passed - a.year; | |
const olderInventor = a.passed - a.year; | |
return youngerInventor > olderInventor ? -1 : 1; | |
}); | |
// console.table(inventorAgeSort); | |
// 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 de = links.map(link => link.textContent) | |
// .filter(streetName => streetName.includes('de')); | |
// 7. sort Exercise | |
// Sort the people alphabetically by last name | |
const lastNameSort = people.sort((lastName, firstName) =>{ | |
const [aLast, aFirst] = lastName.split(', '); | |
const [bLast, bFirst] = firstName.split(', '); | |
return aLast > bLast ? 1 : -1; | |
}); | |
// console.log(lastNameSort); | |
// 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 vehicles = data.reduce((obj, item) => { | |
if(!obj[item]) { | |
obj[item] = 0; | |
} | |
obj[item]++; | |
return obj; | |
}, {}); | |
console.log(vehicles) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment