Visitar URL original
Finish Day 4 · wesbos/JavaScript30@fb76e62 · GitHub
Skip to content

Commit fb76e62

Browse files
committed
Finish Day 4
1 parent b95189a commit fb76e62

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

‎04 - Array Cardio Day 1/index.html‎

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Array Cardio 💪</title>
6+
</head>
7+
<body>
8+
<script>
9+
// Get your shorts on - this is an array workout!
10+
// ## Array Cardio Day 1
11+
12+
// Some data we can work with
13+
14+
const inventors = [
15+
{ first: 'Albert', last: 'Einstein', year: 1879, passed: 1955 },
16+
{ first: 'Isaac', last: 'Newton', year: 1643, passed: 1727 },
17+
{ first: 'Galileo', last: 'Galilei', year: 1564, passed: 1642 },
18+
{ first: 'Marie', last: 'Curie', year: 1867, passed: 1934 },
19+
{ first: 'Johannes', last: 'Kepler', year: 1571, passed: 1630 },
20+
{ first: 'Nicolaus', last: 'Copernicus', year: 1473, passed: 1543 },
21+
{ first: 'Max', last: 'Planck', year: 1858, passed: 1947 },
22+
{ first: 'Katherine', last: 'Blodgett', year: 1898, passed: 1979 },
23+
{ first: 'Ada', last: 'Lovelace', year: 1815, passed: 1852 },
24+
{ first: 'Sarah E.', last: 'Goode', year: 1855, passed: 1905 },
25+
{ first: 'Lise', last: 'Meitner', year: 1878, passed: 1968 },
26+
{ first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 }
27+
];
28+
29+
const flavours = ['Chocolate Chip', 'Kulfi', 'Caramel Praline', 'Chocolate', 'Burnt Caramel', 'Pistachio', 'Rose', 'Sweet Coconut', 'Lemon Cookie', 'Toffeeness', 'Toasted Almond', 'Black Raspberry Crunch', 'Chocolate Brownies', 'Pistachio Almond', 'Strawberry', 'Lavender Honey', 'Lychee', 'Peach', 'Black Walnut', 'Birthday Cake', 'Mexican Chocolate', 'Mocha Almond Fudge', 'Raspberry'];
30+
31+
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'];
32+
33+
// Array.prototype.filter()
34+
// 1. Filter the list of inventors for those who were born in the 1500's
35+
const fifteen = inventors.filter( inventor => inventor.year >= 1500 && inventor.year < 1600 );
36+
console.table(fifteen);
37+
38+
// Array.prototype.map()
39+
// 2. Give us an array of the inventors' first and last names
40+
const fullNames = inventors.map( inventor => `${inventor.first} ${inventor.last}` );
41+
console.log(fullNames);
42+
43+
// Array.prototype.sort()
44+
// 3. Sort the inventors by birthdate, oldest to youngest
45+
const ordered = inventors.sort( (a, b) => a.year > b.year ? 1 : -1);
46+
console.table(ordered);
47+
48+
// Array.prototype.reduce()
49+
// 4. How many years did all the inventors live?
50+
const totalYears = inventors.reduce( (total, inventor) => {
51+
return total += (inventor.passed - inventor.year);
52+
}, 0);
53+
console.log(totalYears);
54+
55+
// 5. Sort the inventors by years lived
56+
const oldest = inventors.sort( (a, b) => (a.passed - a.year) > (b.passed - b.year) ? -1 : 1 );
57+
console.table(oldest);
58+
59+
// 6. create a list of Boulevards in Paris that contain 'de' anywhere in the name
60+
// https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris
61+
62+
63+
// 7. sort Exercise
64+
// Sort the people alphabetically by last name
65+
const alpha = people.sort((lastOne, firstOne) => {
66+
const [aLast, aFirst] = lastOne.split(', ');
67+
const [bLast, bFirst] = lastOne.split(', ');
68+
return aLast > bLast ? 1 : -1;
69+
});
70+
console.log(alpha);
71+
72+
// 8. Reduce Exercise
73+
// Sum up the instances of each of these
74+
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ];
75+
76+
const transportation = data.reduce( (obj, item) => {
77+
if (!obj[item]) {
78+
obj[item] = 0;
79+
}
80+
obj[item]++;
81+
return obj;
82+
}, {} );
83+
console.log(transportation);
84+
85+
</script>
86+
</body>
87+
</html>

0 commit comments

Comments
 (0)