Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1d358f5

Browse files
day 4
1 parent e934a2a commit 1d358f5

File tree

3 files changed

+126
-3
lines changed

3 files changed

+126
-3
lines changed

‎README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Motivate yourself to code daily till 60 days, and see the magic!
1818
| Day | Topic | Link | Summary |
1919
| ---------- | ----- | ------------ | ---------: |
2020
| [Day 1](./each%20day%20build%20day!/Day%201/) | [Simple Clock](./each%20day%20build%20day!/Day%201/) | [codepen.io]() | [Takeaways](./each%20day%20build%20day!/Day%201/README.md) |
21-
| [Day 2](./each%20day%20build%20day!/Day%202/) | [Flex image gallery](./each%20day%20build%20day!/Day%202/) | [demo](https://powerofflex.z22.web.core.windows.net/) | [Takeaways](./each%20day%20build%20day!/Day%202/README.md/) |
22-
| [Day 3](./each%20day%20build%20day!/Day%203/) | [css variables](./each%20day%20build%20day!/Day%203/) | [demo](https://powerofflex.z22.web.core.windows.net/) | [Takeaways](./each%20day%20build%20day!/Day%202/README.md/) |
23-
21+
| [Day 2](./each%20day%20build%20day!/Day%201/) | [Flex image gallery](./each%20day%20build%20day!/Day%202/) | [demo](https://powerofflex.z22.web.core.windows.net/) | [Takeaways](./each%20day%20build%20day!/Day%202/README.md/) |
22+
| [Day 3](./each%20day%20build%20day!/Day%203/) | [css variables](./each%20day%20build%20day!/Day%203/) | [demo](https://powerofflex.z22.web.core.windows.net/) | [Takeaways](./each%20day%20build%20day!/Day%203/README.md/) |
23+
|[Day 4](./each%20day%20build%20day!/Day%204/)|[Array Methods](./each%20day%20build%20day!/Day%203/)|[demo](https://powerofflex.z22.web.core.windows.net/)|[Takeaways](./each%20day%20build%20day!/Day%204/README.md/)|
2424

‎each day build day!/Day 4/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Day 4: Array Cardio
2+
3+
4+
<p>
5+
Practical use of powerful array methods map, filter, reduce and sort
6+
</p>
7+
8+
9+
# Takeaways
10+
- parse DOM elements
11+
- console methods
12+
- array methods
13+
14+
15+
16+

‎each day build day!/Day 4/index.html

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8">
6+
<title>Array Cardio 💪</title>
7+
</head>
8+
9+
<body>
10+
<p><em>No, html & css for today : Open the browser Console</em> 💁</p>
11+
<script>
12+
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 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'];
30+
31+
32+
// 1. Filter the list of inventors for those who were born in the 1500's
33+
const inventorIn1500s = inventors.filter(item => item.year >= 1500 && item.year < 1600);
34+
console.table(inventorIn1500s);
35+
36+
// 2. Give us an array of the inventors first and last names
37+
38+
//const firstLastName = inventors.map( item => item.first).concat(inventors.map( item => item.last));
39+
const firstLastName = inventors.map(x => `${x.first} - ${x.last}`);
40+
41+
console.log('2 :', firstLastName);
42+
// 3. Sort the inventors by birthdate, oldest to youngest
43+
let sortedByBirthdate = inventors.concat();
44+
sortedByBirthdate.sort((a, b) => a.year > b.year);
45+
console.log('3:', sortedByBirthdate, 'unaffected original array :', inventors);
46+
47+
// 4. How many years did all the inventors live all together?
48+
49+
// let totalYears = inventors.map(x =>x.passed - x.year).reduce( (acc, curr) => acc+=curr);
50+
const totalYears = inventors.reduce((total, inventor) => {
51+
return total + (inventor.passed - inventor.year);
52+
}, 0);
53+
54+
console.log('4 :', totalYears);
55+
// 5. Sort the inventors by years lived
56+
57+
//make a copy
58+
let sortedByYearsLived = inventors.concat();
59+
60+
sortedByYearsLived.sort((a, b) => (a.passed - a.year) - (b.passed - b.year));
61+
console.log('5 :', sortedByYearsLived);
62+
63+
// 6. create a list of Boulevards in Paris that contain 'de' anywhere in the name
64+
// https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris
65+
//array = ['Boulevard Haussmann',`Boulevard de l'Hôpital`,'Boulevard des Italiens','Boulevard Lefebvre','Boulevard des Capucines','Boulevard de la Chapelle','Boulevard de Clichy','Boulevard du Crime','Boulevard de Magenta','Boulevard de Strasbourg','','','','','','','','','','','','Boulevard Voltaire','Boulevard du Temple']
66+
67+
68+
const categories = document.querySelectorAll('.mw-category')
69+
70+
//convert the NodeList to array
71+
//const links = Array.from(categories.querySelectorAll('a'));
72+
//or better 🧑
73+
const links = [...categories.querySelectorAll('a')]; //we need only links returns a NodeList
74+
75+
const namesWithde = links
76+
.map(item => item.contentText)
77+
.filter(name => name.includes('de'));
78+
console.table(namesWithde);
79+
// 7. sort Exercise
80+
// Sort the people alphabetically by last name
81+
const sortedPeople = people.sort((a, b) => {
82+
//split the string
83+
const [alast, afirst] = a.split(',');
84+
const [blast, bfirst] = b.split(',');
85+
return alast - blast;
86+
})
87+
88+
console.table(sortedPeople);
89+
// 8. Reduce Exercise
90+
// Sum up the instances of each of these
91+
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck'];
92+
//create a objMap
93+
const reduced = data.reduce((obj, item) => {
94+
if (!obj[item]) {
95+
obj[item] = 0
96+
}
97+
obj[item]++;
98+
return obj;
99+
}, {})
100+
101+
console.log('8:', reduced)
102+
103+
104+
</script>
105+
</body>
106+
107+
</html>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /