From 9dc93e0dd61bbb90a5ba252859512b89fb627223 Mon Sep 17 00:00:00 2001 From: spenclark Date: Mon, 19 Aug 2019 11:16:09 -0700 Subject: [PATCH 1/6] First commit Spencer Clark --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 23108974b..c150be481 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,5 @@ The [arrays.js](assignments/arrays.js) assignment takes us through a large data - Move on to tomorrow's content and start studying callbacks, write a few of your own to get the hang of it. - Look at array methods like .map(), .reduce(), .filter(). use them on the data in the arrays assignment to accomplish the same things you did with the ES5 for loop. + + \ No newline at end of file From 0ce7ecd627f8226b30e66cd53aedbdd27fc439fa Mon Sep 17 00:00:00 2001 From: spenclark Date: Mon, 19 Aug 2019 15:48:46 -0700 Subject: [PATCH 2/6] in progress commit --- README.md | 2 +- assignments/arrays.js | 13 ++++-- assignments/objects.js | 100 ++++++++++++++++++++++++++++++++--------- 3 files changed, 91 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index c150be481..fa6994198 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,6 @@ The [arrays.js](assignments/arrays.js) assignment takes us through a large data ### Stretch - Move on to tomorrow's content and start studying callbacks, write a few of your own to get the hang of it. -- Look at array methods like .map(), .reduce(), .filter(). use them on the data in the arrays assignment to accomplish the same things you did with the ES5 for loop. +- Look at array methods like .map(), .reduce(), .filter(). use them on the data in the arrays assignment to accomplish the same things you did with the ES5 for loop. \ No newline at end of file diff --git a/assignments/arrays.js b/assignments/arrays.js index 1dbf8bd35..b05e8bcd1 100644 --- a/assignments/arrays.js +++ b/assignments/arrays.js @@ -75,12 +75,19 @@ let inventory = [ // ==== Challenge 1 ==== // The dealer can't recall the information for a car with an id of 33 on his lot. Help the dealer find out which car has an id of 33 by logging the car's year, make, and model in the console log provided to you below: -console.log(`Car 33 is a *car year goes here* *car make goes here* *car model goes here*`); +const carString = "Car 33 was built in " + inventory[32].car_year + ", its make is " + inventory[32].car_make + " and its model is " + inventory[32].car_model ; +console.log(carString); // ==== Challenge 2 ==== // The dealer needs the information on the last car in their inventory. What is the make and model of the last car in the inventory? Log the make and model into the console. -let lastCar = 0; -console.log(); +let lastCar = []; + +lastCar.push(inventory.pop()) + +console.log(lastCar); + +console.log(inventory.pop()); // logs the last item + // ==== Challenge 3 ==== // The marketing team wants the car models listed alphabetically on the website. Sort all the car model names into alphabetical order and log the results in the console diff --git a/assignments/objects.js b/assignments/objects.js index 798d5e0cf..f0c7a4f52 100644 --- a/assignments/objects.js +++ b/assignments/objects.js @@ -18,28 +18,67 @@ const example = { } // Write your intern objects here: +const intern1 = { + id: 1, + name:"Mitzi", + email: "mmelloy0@psu.edu", + gender: "F", +} +const intern2 = { + id: 2, + name:"Kennan", + email: "kdiben1@tinypic.com", + gender: "M", +} + +const intern3 = { + id: 3, + name:"Keven", + email: "kmummery2@wikimedia.org", + gender: "M", +} + +const intern4 = { + id: 4, + name:"Gannie", + email: "gmartinson3@illinois.edu", + gender: "M", +} + +const intern5 = { + id: 5, + name:"Antonietta", + email: "adaine5@samsung.com", + gender: "F", +} // ==== Challenge 2: Reading Object Data ==== // Once your objects are created, log out the following requests from HR into the console: // Mitzi's name - +console.log(intern1.name) // Kennan's ID - +console.log(intern2.id) // Keven's email - +console.log(intern3.email) // Gannie's name - +console.log(intern4.name) // Antonietta's Gender - +console.log(intern5.gender) // ==== Challenge 3: Object Methods ==== // Give Kennan the ability to say "Hello, my name is Kennan!" Use the console.log provided as a hint. // console.log(kennan.speak()); - +intern2.speak = function () { + return "Hello, my name is Kennan!"; +}; +console.log(intern2.speak()); // Antonietta loves math, give her the ability to multiply two numbers together and return the product. Use the console.log provided as a hint. //console.log(antonietta.multiplyNums(3,4)); - +intern5.nums = function(num1, num2){ + return num1 * num2; +}; +console.log(intern5.nums(2,3)) // === Great work! === Head over to the the arrays.js. You may come back and attempt the Stretch Challenge once you have completed the challenges in arrays.js and function-conversion.js. // ==== Stretch Challenge: Nested Objects and the this keyword ==== @@ -49,16 +88,37 @@ const example = { // 3. Nest a grandchild object in the child object with properties for name and age. The name will be Sam and the age will be 30 // 4. Give each of the objects the ability to speak their names using the this keyword. -const parent = {} - -// Log the parent object's name - -// Log the child's age - -// Log the name and age of the grandchild - -// Have the parent speak - -// Have the child speak - -// Have the grandchild speak +const parent = { + name: "Susan", + age: 70, + speak: function() { + return this.name; + }, + child: { + name: "George", + age: 50, + speak: function() { + return this.name; + }, + grandchild: { + name: "Sam", + age: 30, + speak: function() { + return this.name; + } + } + } +}; + +// // Log the parent object's name +console.log(parent.name); +// // Log the child's age +console.log(parent.child.age); +// // Log the name and age of the grandchild +console.log(parent.child.grandchild.name,parent.child.grandchild.age); +// // Have the parent speak +console.log(parent.speak()); +// // Have the child speak +console.log(parent.child.speak()); +// // Have the grandchild speak +console.log(parent.child.grandchild.speak()); \ No newline at end of file From 9274d25e453f98daea8cbff27e6b287154556d3a Mon Sep 17 00:00:00 2001 From: spenclark Date: Tue, 20 Aug 2019 08:00:01 -0700 Subject: [PATCH 3/6] Changed to for loops --- assignments/arrays.js | 46 ++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/assignments/arrays.js b/assignments/arrays.js index b05e8bcd1..dbe10c3ac 100644 --- a/assignments/arrays.js +++ b/assignments/arrays.js @@ -80,32 +80,46 @@ console.log(carString); // ==== Challenge 2 ==== // The dealer needs the information on the last car in their inventory. What is the make and model of the last car in the inventory? Log the make and model into the console. -let lastCar = []; - -lastCar.push(inventory.pop()) - -console.log(lastCar); - -console.log(inventory.pop()); // logs the last item - +let lastCar = 0; +console.log(inventory[49].car_make, inventory[49].car_model); // ==== Challenge 3 ==== // The marketing team wants the car models listed alphabetically on the website. Sort all the car model names into alphabetical order and log the results in the console let carModels = []; let carModelsSorted = []; -console.log(); - +for(let i = 0; i < inventory.length; i++){ + if(!carModels.includes(inventory[i].car_model)){ + carModels.push(inventory[i].car_model); + } +} + +carModels.sort(); +console.log(carModels); // ==== Challenge 4 ==== // The accounting team needs all the years from every car on the lot. Create a new array from the dealer data containing only the car years and log the result in the console. let carYears = []; -console.log(); - +for(let i = 0; i < inventory.length; i++){ + if(!carYears.includes(inventory[i].car_year)){ + carYears.push(inventory[i].car_year); + } +} +console.log(carYears); // ==== Challenge 5 ==== // The car lot manager needs to find out how many cars are older than the year 2000. Using the carYears array you just created, find out how many cars were made before the year 2000 by populating the array oldCars and logging it's length. -let oldCars = []; -console.log(); - +let oldCars =[]; +for(let i = 0; i < inventory.length; i++){ + if(inventory[i].car_year < 2000 ){ + oldCars.push(inventory[i]); + } +} +console.log(oldCars.length); // ==== Challenge 6 ==== // A buyer is interested in seeing only BMW and Audi cars within the inventory. Return an array that only contains BMW and Audi cars. Once you have populated the BMWAndAudi array, use JSON.stringify() to show the results of the array in the console. let BMWAndAudi = []; -console.log(); +for(let i = 0; i < inventory.length; i++){ + if(inventory[i].car_make == "BMW" || inventory[i].car_make == "Audi"){ + BMWAndAudi.push(inventory[i]); + } +} + +console.log(BMWAndAudi); From e43f6bdb3ed04ac22cfc8c0133a542a6f79ae352 Mon Sep 17 00:00:00 2001 From: spenclark Date: Tue, 20 Aug 2019 08:29:18 -0700 Subject: [PATCH 4/6] attemp @ strech --- assignments/function-conversion.js | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/assignments/function-conversion.js b/assignments/function-conversion.js index 55f57ef62..ce52c484e 100644 --- a/assignments/function-conversion.js +++ b/assignments/function-conversion.js @@ -4,22 +4,37 @@ // console.log("Function was invoked!"); // }; // myFunction(); +let myFunction = () => { + console.log("Function was invoked!"); + }; + myFunction(); + // let anotherFunction = function (param) { // return param; // }; // anotherFunction("Example"); +let anotherFunction = param => { + return param; + }; + console.log(anotherFunction("Example")); + // let add = function (param1, param2) { // return param1 + param2; // }; // add(1,2); +let add = (param1, param2) => { + return param1 + param2 +}; // let subtract = function (param1, param2) { // return param1 - param2; // }; // subtract(1,2); - +let subtract = (param1, param2) => { + return param1 - param2 +}; // Stretch @@ -27,4 +42,9 @@ // const triple = exampleArray.map(function (num) { // return num * 3; // }); -// console.log(triple); \ No newline at end of file +// console.log(triple); +var exampleArray = [1,2,3,4]; + +const triple = exampleArray.map(3) => { + return num * 3; +} \ No newline at end of file From 9604bcf53029ae9412dd4c11f4f24d60beb395f2 Mon Sep 17 00:00:00 2001 From: spenclark Date: Tue, 20 Aug 2019 12:17:40 -0700 Subject: [PATCH 5/6] Trying strech goals again --- assignments/arrays.js | 22 ++++++++++++++++++---- assignments/function-conversion.js | 10 ++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/assignments/arrays.js b/assignments/arrays.js index dbe10c3ac..1b47cc521 100644 --- a/assignments/arrays.js +++ b/assignments/arrays.js @@ -81,7 +81,8 @@ console.log(carString); // ==== Challenge 2 ==== // The dealer needs the information on the last car in their inventory. What is the make and model of the last car in the inventory? Log the make and model into the console. let lastCar = 0; -console.log(inventory[49].car_make, inventory[49].car_model); + +console.log(inventory[49].car_make, inventory[49].car_model) // ==== Challenge 3 ==== // The marketing team wants the car models listed alphabetically on the website. Sort all the car model names into alphabetical order and log the results in the console @@ -115,11 +116,24 @@ for(let i = 0; i < inventory.length; i++){ console.log(oldCars.length); // ==== Challenge 6 ==== // A buyer is interested in seeing only BMW and Audi cars within the inventory. Return an array that only contains BMW and Audi cars. Once you have populated the BMWAndAudi array, use JSON.stringify() to show the results of the array in the console. -let BMWAndAudi = []; +let specfic = []; for(let i = 0; i < inventory.length; i++){ if(inventory[i].car_make == "BMW" || inventory[i].car_make == "Audi"){ - BMWAndAudi.push(inventory[i]); + specfic.push(inventory[i]); } } -console.log(BMWAndAudi); +console.log(specfic); + + +// or + +let BMWAndAudi = []; + +inventory.forEach(function(){ + + return BMWAndAudi.push(inventory.car_make === "Audi") + +}); + +console.log(BMWAndAudi); \ No newline at end of file diff --git a/assignments/function-conversion.js b/assignments/function-conversion.js index ce52c484e..430c5e29a 100644 --- a/assignments/function-conversion.js +++ b/assignments/function-conversion.js @@ -43,8 +43,10 @@ let subtract = (param1, param2) => { // return num * 3; // }); // console.log(triple); -var exampleArray = [1,2,3,4]; -const triple = exampleArray.map(3) => { - return num * 3; -} \ No newline at end of file + +// var exampleArray = [1,2,3,4]; + +// const triple = exampleArray.map(3) => { +// return num * 3; +// }; \ No newline at end of file From 05517049eb48a4244b35b598a823ac0d3c45eae4 Mon Sep 17 00:00:00 2001 From: spenclark Date: Tue, 20 Aug 2019 12:33:16 -0700 Subject: [PATCH 6/6] runthrough with TL --- assignments/arrays.js | 12 ++++++------ assignments/function-conversion.js | 10 ++++++---- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/assignments/arrays.js b/assignments/arrays.js index 1b47cc521..77fa64c03 100644 --- a/assignments/arrays.js +++ b/assignments/arrays.js @@ -87,7 +87,7 @@ console.log(inventory[49].car_make, inventory[49].car_model) // ==== Challenge 3 ==== // The marketing team wants the car models listed alphabetically on the website. Sort all the car model names into alphabetical order and log the results in the console let carModels = []; -let carModelsSorted = []; + for(let i = 0; i < inventory.length; i++){ if(!carModels.includes(inventory[i].car_model)){ carModels.push(inventory[i].car_model); @@ -128,12 +128,12 @@ console.log(specfic); // or -let BMWAndAudi = []; +// let BMWAndAudi = []; -inventory.forEach(function(){ +// inventory.forEach(function(inventory){ - return BMWAndAudi.push(inventory.car_make === "Audi") +// return BMWAndAudi.push(inventory.car_make === "Audi") -}); +// }); -console.log(BMWAndAudi); \ No newline at end of file +// console.log(BMWAndAudi); \ No newline at end of file diff --git a/assignments/function-conversion.js b/assignments/function-conversion.js index 430c5e29a..42dc5d874 100644 --- a/assignments/function-conversion.js +++ b/assignments/function-conversion.js @@ -45,8 +45,10 @@ let subtract = (param1, param2) => { // console.log(triple); -// var exampleArray = [1,2,3,4]; +var exampleArray = [1,2,3,4]; -// const triple = exampleArray.map(3) => { -// return num * 3; -// }; \ No newline at end of file +const triple = exampleArray.map((num) => { + return num * 3; +}); + +console.log(triple) \ No newline at end of file