Skip to content

Commit 11c3a22

Browse files
authored
Merge pull request #26 from cindyliu923/cindy/add-day-4
Add day 4
2 parents 80fefeb + 9c93a3c commit 11c3a22

File tree

3 files changed

+107
-0
lines changed

3 files changed

+107
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Array Cardio 💪</title>
7+
</head>
8+
<body>
9+
<p><em>Psst: have a look at the JavaScript Console</em></p>
10+
<div class="q1"></div>--
11+
<div class="q2"></div>--
12+
<div class="q3"></div>--
13+
<div class="q4"></div>--
14+
<div class="q5"></div>--
15+
<div class="q6"></div>--
16+
<div class="q7"></div>--
17+
<div class="q8"></div>
18+
<script src="./main.js"></script>
19+
</body>
20+
</html>

Cindy/Day4 - Array Cardio/main.js

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
const q1 = document.querySelector('.q1');
2+
const q2 = document.querySelector('.q2');
3+
const q3 = document.querySelector('.q3');
4+
const q4 = document.querySelector('.q4');
5+
const q5 = document.querySelector('.q5');
6+
const q6 = document.querySelector('.q6');
7+
const q7 = document.querySelector('.q7');
8+
const q8 = document.querySelector('.q8');
9+
// Get your shorts on - this is an array workout!
10+
// ## Array Cardio Day 1
11+
12+
// Some data we can work with
13+
const inventors = [
14+
{ first: '🐣', last: '🐣🐣🐣🐣🐣🐣🐣🐣🐣🐣🐣', year: 1879, passed: 1955 },
15+
{ first: '🐤', last: '🐤🐤🐤🐤', year: 1643, passed: 1727 },
16+
{ first: '🐔', last: '🐔🐔', year: 1564, passed: 1642 },
17+
{ first: '🐥', last: '🐥🐥🐥🐥🐥🐥🐥🐥🐥', year: 1867, passed: 1934 },
18+
{ first: '🐓', last: '🐓🐓🐓', year: 1571, passed: 1630 },
19+
{ first: '🐔', last: '🐔', year: 1473, passed: 1543 },
20+
{ first: '🐥', last: '🐥🐥🐥🐥🐥🐥🐥🐥', year: 1858, passed: 1947 },
21+
{ first: '🐣', last: '🐣🐣🐣🐣🐣🐣🐣🐣🐣🐣🐣🐣', year: 1898, passed: 1979 },
22+
{ first: '🐤', last: '🐤🐤🐤🐤🐤', year: 1815, passed: 1852 },
23+
{ first: '🐥', last: '🐥🐥🐥🐥🐥🐥🐥', year: 1855, passed: 1905 },
24+
{ first: '🐣', last: '🐣🐣🐣🐣🐣🐣🐣🐣🐣🐣', year: 1878, passed: 1968 },
25+
{ first: '🐤', last: '🐤🐤🐤🐤🐤🐤', year: 1829, passed: 1909 }
26+
];
27+
28+
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'];
29+
30+
// Array.prototype.filter()
31+
// 1. Filter the list of inventors for those who were born in the 1500's
32+
const fifteen = inventors.filter(inventor => inventor.year >= 1500 && inventor.year < 1600);
33+
console.table(fifteen);
34+
q1.innerHTML = JSON.stringify(fifteen);
35+
36+
// Array.prototype.map()
37+
// 2. Give us an array of the inventors first and last names
38+
const name = inventors.map(inventor => `${inventor.first} ${inventor.last}`);
39+
console.table(name);
40+
q2.innerHTML = name;
41+
42+
// Array.prototype.sort()
43+
// 3. Sort the inventors by birthdate, oldest to youngest
44+
const sort = inventors.sort((a, b) => a.year > b.year ? 1 : -1);
45+
console.table(sort);
46+
q3.innerHTML = JSON.stringify(sort);
47+
48+
// Array.prototype.reduce()
49+
// 4. How many years did all the inventors live all together?
50+
const reduce = inventors.reduce((total, inventor) => total + (inventor.passed - inventor.year), 0);
51+
console.log(reduce);
52+
q4.innerHTML = reduce
53+
54+
// 5. Sort the inventors by years lived
55+
const sortLive = inventors.sort((a, b) => (a.passed - a.year) > (b.passed - b.year) ? -1 : 1);
56+
console.table(sortLive);
57+
q5.innerHTML = JSON.stringify(sortLive);
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+
// const category = document.querySelector('.mw-category');
62+
// const links = Array.from(category.querySelectorAll('a'));
63+
// const de = links
64+
// .map(link => link.textContent)
65+
// .filter(streetName => streetName.includes('de'));
66+
q6.innerHTML = ["Boulevard de l'Amiral-Bruix", "Boulevard des Capucines", "Boulevard de la Chapelle", "Boulevard de Clichy", "Boulevard de l'Hôpital", "Boulevard des Italiens", "Boulevard de la Madeleine", "Boulevard de Magenta", "Boulevard Marguerite-de-Rochechouart", "Boulevard de Sébastopol", "Boulevard de Strasbourg", "Boulevard de la Zone"];
67+
68+
// 7. sort Exercise
69+
// Sort the people alphabetically by last name
70+
// 英文姓名一般都是先寫名(First Name),再寫姓(Last Name/Surname),若是先寫姓再寫名,標準格式是會加上一個逗號(,)
71+
const sortPeople = people.sort((a, b) => a.split(', ')[0] > b.split(', ')[0] ? 1 : -1);
72+
console.log(sortPeople);
73+
q7.innerHTML = sortPeople;
74+
75+
// 8. Reduce Exercise
76+
// Sum up the instances of each of these
77+
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ];
78+
const sum = data.reduce((obj, item) => {
79+
if (!obj[item]) {
80+
obj[item] = 0;
81+
}
82+
obj[item]++;
83+
return obj;
84+
}, {});
85+
console.log(sum);
86+
q8.innerHTML = JSON.stringify(sum);

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ <h1>JavaScript 30 Challenge</h1>
3232
<div class="content-border d-flex justify-content-center">
3333
<nav class="nav flex-column my-4">
3434
<a class="nav-link hover-border" href="./Debby/Day-4-Array_Day_1/Array_Cardio_Day_1.html">Debby der Day 4 - Array</a>
35+
<a class="nav-link hover-border" href="./Cindy/Day4 - Array Cardio/index.html">Cindy der Array</a>
3536
</nav>
3637
</div>
3738
</div>

0 commit comments

Comments
 (0)