-
Notifications
You must be signed in to change notification settings - Fork 2.3k
jcassidy #203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
jcassidy #203
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -56,21 +56,29 @@ const runners = [{"id":1,"first_name":"Charmain","last_name":"Seiler","email":"c | |
| // ==== Challenge 1: Use .forEach() ==== | ||
| // The event director needs both the first and last names of each runner for their running bibs. Combine both the first and last names into a new array called fullName. | ||
| let fullName = []; | ||
| runners.forEach(function(element) { | ||
| fullName.push(element.first_name + ' ' + element.last_name); | ||
| }); | ||
| console.log(fullName); | ||
|
|
||
| // ==== Challenge 2: Use .map() ==== | ||
| // The event director needs to have all the runner's first names converted to uppercase because the director BECAME DRUNK WITH POWER. Convert each first name into all caps and log the result | ||
| let allCaps = []; | ||
| let allCaps = fullName.map(x => x.toUpperCase()); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice use of the |
||
| console.log(allCaps); | ||
|
|
||
| // ==== Challenge 3: Use .filter() ==== | ||
| // The large shirts won't be available for the event due to an ordering issue. Get a list of runners with large sized shirts so they can choose a different size. Return an array named largeShirts that contains information about the runners that have a shirt size of L and log the result | ||
| let largeShirts = []; | ||
| let largeShirts = runners.filter((shirt) => { | ||
| return shirt.shirt_size === 'L' | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ✅ |
||
| }); | ||
| console.log(largeShirts); | ||
|
|
||
| // ==== Challenge 4: Use .reduce() ==== | ||
| // The donations need to be tallied up and reported for tax purposes. Add up all the donations into a ticketPriceTotal array and log the result | ||
| let ticketPriceTotal = []; | ||
|
|
||
| let ticketPriceTotal = runners.reduce((donations, item) => { | ||
| return donations += item.donation; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ✅ |
||
| }, 0) | ||
| console.log(ticketPriceTotal); | ||
|
|
||
| // ==== Challenge 5: Be Creative ==== | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,33 +2,75 @@ const items = ['Pencil', 'Notebook', 'yo-yo', 'Gum']; | |
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Great work! 🙌 |
||
| function firstItem(arr, cb) { | ||
| // firstItem passes the first item of the given array to the callback function. | ||
| return cb(arr[0]); | ||
| } | ||
| firstItem(items,function(first) { | ||
| console.log(first) | ||
| }); | ||
|
|
||
|
|
||
| function getLength(arr, cb) { | ||
| // getLength passes the length of the array into the callback. | ||
| return cb(arr.length); | ||
| } | ||
| getLength(items,function(lengthy) { | ||
| console.log(lengthy) | ||
| }); | ||
|
|
||
| function last(arr, cb) { | ||
| // last passes the last item of the array into the callback. | ||
| return cb(arr[arr.length - 1]); | ||
| } | ||
| last (items, function(lasty) { | ||
| console.log(lasty) | ||
| }); | ||
|
|
||
| function sumNums(x, y, cb) { | ||
| // sumNums adds two numbers (x, y) and passes the result to the callback. | ||
| return cb(x+y); | ||
| } | ||
| sumNums(4,2, function(sumynumy) { | ||
| console.log(sumynumy) | ||
| }); | ||
|
|
||
| function multiplyNums(x, y, cb) { | ||
| // multiplyNums multiplies two numbers and passes the result to the callback. | ||
| return cb(x*y); | ||
| } | ||
| multiplyNums(4,1, function(multynumy) { | ||
| console.log(multynumy) | ||
| }); | ||
|
|
||
| /* STRETCH PROBLEM */ | ||
|
|
||
| function contains(item, list, cb) { | ||
| // contains checks if an item is present inside of the given array/list. | ||
| // Pass true to the callback if it is, otherwise pass false. | ||
| return checker(item,list) | ||
| } | ||
| function checker(item, list) { | ||
| if(list.includes(item)){ | ||
| return true; | ||
| } else { | ||
| return false; | ||
| } | ||
| } | ||
| console.log(checker('Pencil',items)) | ||
|
|
||
|
|
||
| /* STRETCH PROBLEM */ | ||
|
|
||
| function removeDuplicates(array, cb) { | ||
| // removeDuplicates removes all duplicate values from the given array. | ||
| // Pass the duplicate free array to the callback function. | ||
| // Do not mutate the original array. | ||
| return cb(array); | ||
| } | ||
|
|
||
| removeDuplicates(items, function(func){ | ||
| newList = []; | ||
| items.forEach(function(element) { | ||
| newList.push(items.element); | ||
| }) | ||
| console.log(newList); | ||
| }); | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,17 @@ | ||
| // ==== Challenge 1: Write your own closure ==== | ||
| // Write a simple closure of your own creation. Keep it simple! | ||
|
|
||
| function makeAdder(x) { | ||
| return function(y) { | ||
| return x + y; | ||
| }; | ||
| } | ||
|
|
||
| var add5 = makeAdder(5); | ||
| var add10 = makeAdder(10); | ||
|
|
||
| console.log(add5(2)); // 7 | ||
| console.log(add10(2)); // 12 | ||
|
|
||
| // ==== Challenge 2: Create a counter function ==== | ||
| const counter = () => { | ||
|
|
@@ -10,6 +21,16 @@ const counter = () => { | |
| // newCounter(); // 1 | ||
| // newCounter(); // 2 | ||
|
|
||
| var add = (function () { | ||
| var counter = 0; | ||
| return function () {counter += 1; return counter} | ||
| })(); | ||
|
|
||
| add(); | ||
| add(); | ||
| add(); | ||
| console.log(add()) | ||
|
|
||
| /* STRETCH PROBLEM, Do not attempt until you have completed all previous tasks for today's project files */ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💪 push yourself to complete all the tasks and stretch problems! |
||
|
|
||
| // ==== Challenge 3: Create a counter function with an object that can increment and decrement ==== | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅