Skip to content

Commit aa7340d

Browse files
committed
Completed Lesson wesbos#4
1 parent b29d8a1 commit aa7340d

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed

04 - Array Cardio Day 1/index.html

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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+
];
23+
24+
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'];
25+
26+
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'];
27+
28+
// Array.prototype.filter()
29+
// 1. Filter the list of inventors for those who were born in the 1500's
30+
console.table(inventors.filter(invt => invt.year > 1499 && invt.year < 1600))
31+
32+
// Array.prototype.map()
33+
// 2. Give us an array of the inventory first and last names
34+
console.table(inventors.map(invt => invt.first + " " + invt.last))
35+
36+
// Array.prototype.sort()
37+
// 3. Sort the inventors by birthdate, oldest to youngest
38+
console.table(inventors.sort(function (a, b) {
39+
if (a.year > b.year) {
40+
return 1
41+
}
42+
if (a.year < b.year) {
43+
return -1
44+
}
45+
return 0
46+
}))
47+
48+
// Array.prototype.reduce()
49+
// 4. How many years did all the inventors live?
50+
console.log(inventors.reduce(function(sum, invt) {
51+
return sum + (invt.passed - invt.year)
52+
}, 0))
53+
54+
// 5. Sort the inventors by years lived
55+
console.table(inventors.sort(function (a, b) {
56+
if ((a.passed - a.year) > (b.passed - b.year)) {
57+
return 1
58+
}
59+
if ((a.passed - a.year) < (b.passed - b.year)) {
60+
return -1
61+
}
62+
return 0
63+
}).map(invt => invt.first + " " + invt.last + " : " + (invt.passed - invt.year)
64+
65+
))
66+
67+
// 6. create a list of Boulevards in Paris that contain 'de' anywhere in the name
68+
// https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris
69+
/*
70+
const category = document.querySelector('.mw-category');
71+
const links = Array.from(category.querySelectorAll('a'));
72+
const de = links
73+
.map(link => link.textContent)
74+
.filter(streetName => streetName.includes('de'));
75+
*/
76+
// 7. sort Exercise
77+
// Sort the people alphabetically by last name
78+
const alpha = people.sort(function(a,b) {
79+
const [alast, afirst] = a.split(', ');
80+
const [blast, bfirst] = b.split(', ');
81+
return alast > blast ? 1 : -1;
82+
})
83+
console.log(alpha);
84+
85+
// 8. Reduce Exercise
86+
// Sum up the instances of each of these
87+
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ];
88+
89+
const trans = data.reduce(function(obj, item) {
90+
if(!obj[item]) {
91+
obj[item] = 0;
92+
}
93+
obj[item]++;
94+
return obj;
95+
}, {})
96+
console.table(trans)
97+
98+
</script>
99+
</body>
100+
</html>

0 commit comments

Comments
 (0)