From 74207f5639196cbec388dca8bc33d16eaee2e16c Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 12:25:27 -0700 Subject: [PATCH 01/10] completed es6 conversions --- assignments/function-conversion.js | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/assignments/function-conversion.js b/assignments/function-conversion.js index 5e6a658a4..0d1309f6b 100644 --- a/assignments/function-conversion.js +++ b/assignments/function-conversion.js @@ -1,23 +1,37 @@ // Take the commented ES5 syntax and convert it to ES6 arrow Syntax // let myFunction = function () {}; +let myFunction = () => {}; + // let anotherFunction = function (param) { // return param; // }; +let anotherFunction = (param) => param; + +console.log(anotherFunction("soda")) // let add = function (param1, param2) { // return param1 + param2; // }; // add(1,2); -let subtract = function (param1, param2) { - return param1 - param2; -}; -subtract(1,2); //? +let add = (param1, param2) => param1 + param2; + +console.log(add(1,2)); + +// let subtract = function (param1, param2) { +// return param1 - param2; +// }; +// console.log(subtract(1,2)); + +let subtract = (x,y) => { + return x-y; +} +console.log(subtract(1,2)); exampleArray = [1,2,3,4]; -// const triple = exampleArray.map(function (num) { -// return num * 3; -// }); -// console.log(triple); \ No newline at end of file +const triple = exampleArray.map(function (num) { + return num * 3; +}); +console.log(triple); \ No newline at end of file From 2b3843c0edaacfac0a16c09dc1576543a61f7e37 Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 12:55:07 -0700 Subject: [PATCH 02/10] completed arry-methods Challenge 1 --- assignments/array-methods.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assignments/array-methods.js b/assignments/array-methods.js index f986e1ad8..3244714f2 100644 --- a/assignments/array-methods.js +++ b/assignments/array-methods.js @@ -56,6 +56,9 @@ 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(i){ + fullName.push(`${i.first_name} ${i.last_name}`) +}) console.log(fullName); // ==== Challenge 2: Use .map() ==== From 5381d7ee66a7868657c7e477786012d2375cb757 Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 13:09:58 -0700 Subject: [PATCH 03/10] completed arry-methods Challenge 2 --- assignments/array-methods.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assignments/array-methods.js b/assignments/array-methods.js index 3244714f2..7e4fb8b6e 100644 --- a/assignments/array-methods.js +++ b/assignments/array-methods.js @@ -63,7 +63,11 @@ 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 = runners.map((cRunnerInfo, i, fullRunnerArray) =>{ + return cRunnerInfo.first_name.toUpperCase() +}); +// allCaps.toUppercase(); + console.log(allCaps); // ==== Challenge 3: Use .filter() ==== From 9c6679f89b79a2d577941c90778a3bf552260373 Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 13:17:03 -0700 Subject: [PATCH 04/10] completed arry-methods Challenge 3 --- assignments/array-methods.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/assignments/array-methods.js b/assignments/array-methods.js index 7e4fb8b6e..b5c35b197 100644 --- a/assignments/array-methods.js +++ b/assignments/array-methods.js @@ -72,7 +72,9 @@ 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((cRunnerInfo) =>{ //filter takes 3 params, ist is the current item, second is the index of that item, third is the entire Aaray + return cRunnerInfo.shirt_size === "L" +}); console.log(largeShirts); // ==== Challenge 4: Use .reduce() ==== From 1510ec87ce236890a48e07204184c77715a6bfec Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 13:30:19 -0700 Subject: [PATCH 05/10] completed arry-methods Challenge 4 --- assignments/array-methods.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/assignments/array-methods.js b/assignments/array-methods.js index b5c35b197..95c1c3747 100644 --- a/assignments/array-methods.js +++ b/assignments/array-methods.js @@ -79,7 +79,9 @@ 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((donatedAmount, cRunnerInfo, i, fullRunnerArray) => { //filter takes 4 params. The last 3 are the same as map and filter. The first is the outcome(this is like the 'values' on a pivot table) + return donatedAmount += cRunnerInfo.donation +},0); console.log(ticketPriceTotal); // ==== Challenge 5: Be Creative ==== From d88acf035b143d1deca086ddcbc15e4e51ac0eaf Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 13:38:06 -0700 Subject: [PATCH 06/10] completed closure Challenge 1 --- assignments/closure.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assignments/closure.js b/assignments/closure.js index 4037b64c9..b15c1420e 100644 --- a/assignments/closure.js +++ b/assignments/closure.js @@ -1,5 +1,9 @@ // ==== Challenge 1: Write your own closure ==== // Write a simple closure of your own creation. Keep it simple! +let name = "William VanDolah"; +let greeting = () => `Hello ${name}` +console.log(greeting()); + // ==== Challenge 2: Create a counter function ==== From ec4ea2fcb79bf68b5e704aaadbe77000c1924174 Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 13:44:34 -0700 Subject: [PATCH 07/10] completed closure Challenge 2 --- assignments/closure.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/assignments/closure.js b/assignments/closure.js index b15c1420e..9f39e9307 100644 --- a/assignments/closure.js +++ b/assignments/closure.js @@ -9,7 +9,19 @@ console.log(greeting()); // ==== Challenge 2: Create a counter function ==== const counter = () => { // Return a function that when invoked increments and returns a counter variable. + let counting = 1; + return function(){ + return counting++ + } }; + +const newCounter = counter(); +console.log(newCounter()) +console.log(newCounter()) +console.log(newCounter()) +console.log(newCounter()) +console.log(newCounter()) + // Example usage: const newCounter = counter(); // newCounter(); // 1 // newCounter(); // 2 From 4680ac7a91033c8be9335c2093ef116ea8f1ee1a Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 14:49:25 -0700 Subject: [PATCH 08/10] completed closure Challenge 3 --- assignments/closure.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/assignments/closure.js b/assignments/closure.js index 9f39e9307..d32869e81 100644 --- a/assignments/closure.js +++ b/assignments/closure.js @@ -7,13 +7,14 @@ console.log(greeting()); // ==== Challenge 2: Create a counter function ==== -const counter = () => { +const counter = function() { // Return a function that when invoked increments and returns a counter variable. let counting = 1; return function(){ return counting++ } }; +console.log(counter()) const newCounter = counter(); console.log(newCounter()) @@ -28,8 +29,24 @@ console.log(newCounter()) // ==== Challenge 3: Create a counter function with an object that can increment and decrement ==== +// let counting = 1 const counterFactory = () => { // Return an object that has two methods called `increment` and `decrement`. // `increment` should increment a counter variable in closure scope and return it. // `decrement` should decrement the counter variable and return it. -}; + let counting = 1; + return { + "increment": () => counting++, + 'decrement': () => counting--, + } +} + +factoryCounter = counterFactory(); +console.log(factoryCounter.increment()); +console.log(factoryCounter.increment()); +console.log(factoryCounter.increment()); +console.log(factoryCounter.increment()); +console.log(factoryCounter.decrement()); +console.log(factoryCounter.decrement()); +console.log(factoryCounter.decrement()); +console.log(factoryCounter.decrement()); From 6b3314344741ddc92a28e542d4fb1283e608fd25 Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 16:51:55 -0700 Subject: [PATCH 09/10] completed some of the creative --- assignments/array-methods.js | 39 ++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/assignments/array-methods.js b/assignments/array-methods.js index 95c1c3747..e25b9263c 100644 --- a/assignments/array-methods.js +++ b/assignments/array-methods.js @@ -63,7 +63,7 @@ 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 = runners.map((cRunnerInfo, i, fullRunnerArray) =>{ +let allCaps = runners.map((cRunnerInfo) =>{ return cRunnerInfo.first_name.toUpperCase() }); // allCaps.toUppercase(); @@ -89,6 +89,41 @@ console.log(ticketPriceTotal); // Problem 1 +let emails = [] +runners.forEach(function(i) { + emails.push(i.email); +}) +console.log(emails); + + // Problem 2 +//This doesn't work yet + + +let shirtSizeCount = { + "small": 0, + "med":0, + "large":0 +} +let smallShirt = 0 + +runners.forEach(function(i){ + if([i].shirt_size === "S"){ + smallShirt = smallShirt + 1 + + } + console.log(smallShirt); +}) + +console.log(shirtSizeCount) +console.log(smallShirt) +// Problem 3 + +//find people that work for Skinix + +let skinixEmp = runners.filter((current) =>{ + return current.company_name === 'Skinix' +}) + +console.log(skinixEmp) -// Problem 3 \ No newline at end of file From 9b08dd333037a0223487730c52e60bb17ba4ae8b Mon Sep 17 00:00:00 2001 From: William VanDolah Date: Tue, 17 Apr 2018 17:03:08 -0700 Subject: [PATCH 10/10] completed all of the creative --- assignments/array-methods.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/assignments/array-methods.js b/assignments/array-methods.js index e25b9263c..5da24d6e0 100644 --- a/assignments/array-methods.js +++ b/assignments/array-methods.js @@ -105,14 +105,18 @@ let shirtSizeCount = { "med":0, "large":0 } -let smallShirt = 0 +let smallShirt = []; runners.forEach(function(i){ - if([i].shirt_size === "S"){ - smallShirt = smallShirt + 1 - + if(i.shirt_size === "S"){ + // smallShirt.push(i.first_name) + shirtSizeCount.small++ + }else if(i.shirt_size === "M"){ + shirtSizeCount.med++ + }else if(i.shirt_size === "L"){ + shirtSizeCount.large++ } - console.log(smallShirt); + }) console.log(shirtSizeCount)