-
Notifications
You must be signed in to change notification settings - Fork 181
/
Copy pathindex.html
96 lines (80 loc) · 4.06 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Day 4 - Arrays</title>
</head>
<body>
<script>
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: "Johanne", last: "Keppler", year: 1571, passed: 1630 },
{ first: "Nicolous", last: "Corpenicus", year: 1473, passed: 1543},
{ first: "Max", last: "Planck", year: 1858, passed: 1947},
];
const people =
[
'Bernhard, Sandra', 'Bethea, Erin', 'Becker, Carl', 'Bentsen, Lloyd', 'Beckett, Samuel', 'Blake, William', 'Berger, Ric', 'Beddoes, Mick', 'Beethoven, Ludwig',
'Belloc, Hilaire', 'Begin, Menachem', 'Bellow, Saul', 'Benchley, Robert', 'Blair, Robert', 'Benenson, Peter', 'Benjamin, Walter', 'Berlin, Irving',
'Benn, Tony', 'Benson, Leana', 'Bent, Silas', 'Berle, Milton', 'Berry, Halle', 'Biko, Steve', 'Beck, Glenn', 'Bergman, Ingmar', 'Black, Elk', 'Berio, Luciano',
'Berne, Eric', 'Berra, Yogi', 'Berry, Wendell', 'Bevan, Aneurin', 'Ben-Gurion, David', 'Bevel, Ken', 'Biden, Joseph', 'Bennington, Chester', 'Bierce, Ambrose',
'Billings, Josh', 'Birrell, Augustine', 'Blair, Tony', 'Beecher, Henry', 'Biondo, Frank'
];
// filter
// 1. Filter the list of inventors for those who were born in the 1500's
const bornin1500 = inventors.filter( (inventor) => (inventor.year >= 1500 && inventor.year <= 1599)?true:false );
console.table(bornin1500); // prints in console as a table
// map
// 2. Give us an array of the inventors first and last names
const fullNames = inventors.map(inventor => inventor.first + ' ' + inventor.last);
console.table(fullNames)
// sort
// 3. Sort the inventors by birthdate, oldest to youngest
const sorted = inventors.sort((a, b)=> a.year > b.year?1:-1 );
console.table(sorted)
// reduce
// 4. How many years did all the inventors live all together?
const totalYears = inventors.reduce((total, inventor) => {
return total + (inventor.passed - inventor.year);
}, 0);
console.log(totalYears);
// 5. Sort the inventors by years lived
const oldest = inventors.sort((a, b) => {
const lastGuy = a.passed - a.year;
const nextGuy = b.passed - b.year;
return lastGuy > nextGuy ? 1 : -1;
})
console.table(oldest);
// 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 the people alphabetically by last name
const peopleSorted = people.sort((A, B) => {
const [alast, afirst] = A.split(', '); // split the name from ', ' into last name and first name of A
const [blast, bfirst] = B.split(', ');
return alast>blast ? 1 : -1 ;
})
console.log(peopleSorted)
// 8. Sum up the instances of each of these
const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck', 'pogostick'];
const transportation = data.reduce(function(obj, item){
if(!obj[item])
{
obj[item] = 0;
}
obj[item]++;
return obj;
},{})
console.log(transportation);
</script>
</body>
</html>