From cabb59e2d86a278288cfea8809fb7afe8442c1db Mon Sep 17 00:00:00 2001 From: Corneliu Date: Mon, 3 Jun 2019 15:59:09 +0200 Subject: [PATCH] array cardio day 1 --- 4-array-cardio-day1/index.html | 65 ++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/4-array-cardio-day1/index.html b/4-array-cardio-day1/index.html index c28c345..070bca0 100644 --- a/4-array-cardio-day1/index.html +++ b/4-array-cardio-day1/index.html @@ -26,22 +26,83 @@ { first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 } ]; 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']; + + // Array.prototype.filter() // 1. Filter the list of inventors for those who were born in the 1500's - // Array.prototype.map() + const fifteen = inventors.filter(inventor => (inventor.year >= 1500 && inventor.year <= 1600)) // inventor filter + arrow function with condition + console.table(fifteen); + + // Array.prototype.map() // ( .map takes in an array, it does something with that array and then it returns a new array with the same length) // 2. Give us an array of the inventors' first and last names + const fullNames = inventors.map(inventor => `${inventor.first} ${inventor.last}`); // map + template strings + console.table(fullNames); + // Array.prototype.sort() // 3. Sort the inventors by birthdate, oldest to youngest + +/* const ordered = inventors.sort(function(a,b){ + if(a.year > b.year) { + return 1; + } else { + return -1; + } + }); + + <=> + + */ + const ordered = inventors.sort((a,b) => a.year > b.year ? 1 : -1) // arrow function with ternary for sort in a particular order + console.table(ordered); + + // Array.prototype.reduce() // 4. How many years did all the inventors live? - // 5. Sort the inventors by years lived + const totalYears = inventors.reduce((total, inventor) => { + return total + (inventor.passed - inventor.year); + }, 0); // pas de tota laiu début, on commence avec 0 + + console.log(totalYears); + // 5. Sort the inventors by years lived /// TO CHECK + const oldest = inventors.sort(function(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'); // on va sélectionner l'élément souhaité du site + const links = Array.from(category.querySelectorAll('a')); // on va sélectionner le link url de chaque élément de 'category' + const de = links + .map(link => link.textContent) + .filter(streetName => streetName.includes('de')); */ + // 7. sort Exercise // Sort the people alphabetically by last name + const alpha = people.sort((lastOne, nextOne) => { + const[aLast, aFirst] = lastOne.split(', '); + const[bLast, bFirst] = nextOne.split(', '); + return aLast > bLast ? 1 : -1; + }); + console.log(alpha); + // 8. Reduce Exercise // Sum up the instances of each of these const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ]; + + const transportation = data.reduce(function(obj, item) { + if(!obj[item]) { + obj[item] = 0; + } + obj[item]++; + return obj; + }, {}) + console.log(transportation); + \ No newline at end of file