|
38 | 38 |
|
39 | 39 | // Array.prototype.filter()
|
40 | 40 | // 1. Filter the list of inventors for those who were born in the 1500's
|
| 41 | + const bornIn1500s = inventors.filter( inv => inv.year >= 1500 && inv.year < 1600 ); |
| 42 | + console.log(bornIn1500s); |
41 | 43 |
|
42 | 44 | // Array.prototype.map()
|
43 | 45 | // 2. Give us an array of the inventors first and last names
|
| 46 | + const firstAndLast = inventors.map( inv => inv.first + " " + inv["last"] ); |
| 47 | + console.log(firstAndLast); |
44 | 48 |
|
45 | 49 | // Array.prototype.sort()
|
46 | 50 | // 3. Sort the inventors by birthdate, oldest to youngest
|
| 51 | + const sortedInv = inventors.sort( (inv1, inv2) => inv1.year - inv2.year ); |
| 52 | + console.log(sortedInv); |
47 | 53 |
|
48 | 54 | // Array.prototype.reduce()
|
49 | 55 | // 4. How many years did all the inventors live all together?
|
| 56 | + const humanYears = inventors.reduce( (total, inv) => total += (inv.passed - inv.year), 0 ); |
| 57 | + console.log(humanYears); |
50 | 58 |
|
51 | 59 | // 5. Sort the inventors by years lived
|
| 60 | + const sortedByAge = inventors.sort( (inv1, inv2) => (inv2.passed - inv2.year) - (inv1.passed - inv1.year) ); |
| 61 | + console.table(sortedByAge); |
52 | 62 |
|
53 | 63 | // 6. create a list of Boulevards in Paris that contain 'de' anywhere in the name
|
54 | 64 | // https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris
|
| 65 | + const blvds = |
| 66 | + [ |
| 67 | + "Boulevards of Paris", |
| 68 | + "City walls of Paris", |
| 69 | + "Thiers wall", |
| 70 | + "Wall of Charles V", |
| 71 | + "Wall of Philip II Augustus", |
| 72 | + "City gates of Paris", |
| 73 | + "Haussmann's renovation of Paris", |
| 74 | + "Boulevards of the Marshals", |
| 75 | + "Boulevard Auguste-Blanqui", |
| 76 | + "Boulevard Barbès", |
| 77 | + "Boulevard Beaumarchais", |
| 78 | + "Boulevard de l'Amiral-Bruix", |
| 79 | + "Boulevard Mortier", |
| 80 | + "Boulevard Poniatowski", |
| 81 | + "Boulevard Soult", |
| 82 | + "Boulevard des Capucines", |
| 83 | + "Boulevard de la Chapelle", |
| 84 | + "Boulevard de Clichy", |
| 85 | + "Boulevard du Crime", |
| 86 | + "Boulevard du Général-d'Armée-Jean-Simon", |
| 87 | + "Boulevard Haussmann", |
| 88 | + "Boulevard de l'Hôpital", |
| 89 | + "Boulevard des Italiens", |
| 90 | + "Boulevard Lefebvre", |
| 91 | + "Boulevard de la Madeleine", |
| 92 | + "Boulevard de Magenta", |
| 93 | + "Boulevard Malesherbes", |
| 94 | + "Boulevard Marguerite-de-Rochechouart", |
| 95 | + "Boulevard Montmartre", |
| 96 | + "Boulevard du Montparnasse", |
| 97 | + "Boulevard Raspail", |
| 98 | + "Boulevard Richard-Lenoir", |
| 99 | + "Boulevard Saint-Germain", |
| 100 | + "Boulevard Saint-Michel", |
| 101 | + "Boulevard de Sébastopol", |
| 102 | + "Boulevard de Strasbourg", |
| 103 | + "Boulevard du Temple", |
| 104 | + "Boulevard Voltaire", |
| 105 | + "Boulevard Hippolyte-Marquès" |
| 106 | + ]; |
| 107 | + |
| 108 | + const withDe = blvds.filter( b => b.toLowerCase().includes("de") ); |
| 109 | + console.log(withDe); |
55 | 110 |
|
56 | 111 |
|
57 | 112 | // 7. sort Exercise
|
58 | 113 | // Sort the people alphabetically by last name
|
| 114 | + const pplSortByLastName = people.sort( (p1, p2) => p1.name > p2.name ); |
| 115 | + console.log(pplSortByLastName); |
59 | 116 |
|
60 | 117 | // 8. Reduce Exercise
|
61 | 118 | // Sum up the instances of each of these
|
62 | 119 | const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ];
|
63 | 120 |
|
| 121 | + const freqs = data.reduce( (arr, ele) => buildFreqs(arr, ele), {} ); |
| 122 | + |
| 123 | + function buildFreqs(arr, ele) |
| 124 | + { |
| 125 | + if( !arr[ele] ) |
| 126 | + { |
| 127 | + arr[ele] = 0; |
| 128 | + } |
| 129 | + |
| 130 | + arr[ele]++; |
| 131 | + return arr; |
| 132 | + } |
| 133 | + |
| 134 | + console.log(freqs); |
| 135 | + |
64 | 136 | </script>
|
65 | 137 | </body>
|
66 | 138 | </html>
|
0 commit comments