-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Mitchell Robles - JavaScript-I #313
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?
Changes from all commits
07465bf
2eaf173
61c6e6f
6aa0ab7
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 |
|---|---|---|
|
|
@@ -65,32 +65,70 @@ let inventory = [{"id":1,"car_make":"Lincoln","car_model":"Navigator","car_year" | |
| // 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*` ); | ||
|
|
||
| for (let i = 0; i < inventory.length; i++) { | ||
| if (inventory[i].id === 33) { | ||
| console.log(`Car 33 is a ${inventory[i].car_year} ${inventory[i].car_make} ${inventory[i].car_model}`); | ||
| } | ||
| } | ||
|
|
||
|
|
||
| // ==== Challenge 2 ==== | ||
| // === 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; | ||
|
|
||
| for (let i = 0; i < inventory.length; i++) { | ||
| if (inventory[i] === inventory[inventory.length - 1]) { | ||
| console.log(inventory[i].car_make, inventory[i].car_model); | ||
| } | ||
| } | ||
|
|
||
| console.log(); | ||
|
|
||
| // ==== 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 = []; | ||
| console.log(); | ||
|
|
||
| for (let i = 0; i < inventory.length; i++) { | ||
| carModels.push(inventory[i].car_model); | ||
| } | ||
|
|
||
| console.log(carModels.sort()); | ||
|
|
||
| // ==== 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++) { | ||
| 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 < carYears.length; i++) { | ||
| if (carYears[i] < 2000) { | ||
| oldCars.push(carYears[i]); | ||
| } | ||
| } | ||
|
|
||
| console.log(oldCars); | ||
|
|
||
| // ==== 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(); | ||
| let BMWAndAudi = []; | ||
|
|
||
| for (let i = 0; i < inventory.length; i++) { | ||
| if (inventory[i].car_make === "BMW") { | ||
| BMWAndAudi.push(inventory[i]); | ||
| } else if (inventory[i].car_make === "Audi") { | ||
| BMWAndAudi.push(inventory[i]); | ||
|
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. Also could have used the |
||
| } | ||
| } | ||
|
|
||
| console.log(JSON.stringify(BMWAndAudi)); | ||
|
|
||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,27 +19,85 @@ const example = { | |
|
|
||
| // Write your intern objects here: | ||
|
|
||
| const mitzi = { | ||
| "id": 1, | ||
| "name": "Mitzi", | ||
| "email": "mmelloy0@psu.edu", | ||
| "gender": "F", | ||
| } | ||
|
|
||
| const kennan = { | ||
| "id": 2, | ||
| "name": "Kennan", | ||
| "email": "kdiben1@tinypic.com", | ||
| "gender": "M", | ||
|
|
||
| } | ||
|
|
||
| const keven = { | ||
| "id": 3, | ||
| "name": "Keven", | ||
| "email": "kmummery2@wikimedia.org", | ||
| "gender": "M", | ||
| } | ||
|
|
||
| const gannie = { | ||
| "id": 4, | ||
| "name": "Gannie", | ||
| "email": "gmartinson3@illinois.edu", | ||
| "gender": "M", | ||
| } | ||
|
|
||
| const antonietta = { | ||
| "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(mitzi.name); | ||
|
|
||
| // Kennan's ID | ||
|
|
||
| console.log(keven.id); | ||
|
|
||
| // Keven's email | ||
|
|
||
| console.log(keven.email); | ||
|
|
||
| // Gannie's name | ||
|
|
||
| console.log(gannie.name); | ||
|
|
||
| // Antonietta's Gender | ||
|
|
||
| console.log(antonietta.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()); | ||
|
|
||
| kennan.speak = function speak() { | ||
| return "Hello, my name is " + this.name + "!"; | ||
| } | ||
|
|
||
| console.log(kennan.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)); | ||
|
|
||
| antonietta.multiplyNums = function multiplyNums(x, y) { | ||
| const sum = x * y; | ||
| return sum; | ||
| } | ||
|
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. Also possible to define methods inside the objects themselves |
||
|
|
||
| console.log(antonietta.multiplyNums(3, 4)); | ||
|
|
||
| // === Great work! === Head over to the the arrays.js file or take a look at the stretch challenge | ||
|
|
||
| // ==== Stretch Challenge: Nested Objects and the this keyword ==== | ||
|
|
@@ -49,16 +107,51 @@ 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 = {} | ||
| const parent = { | ||
| "name": "Susan", | ||
| "age": 70, | ||
| "child": { | ||
| "name": "George", | ||
| "age": 50, | ||
| "grandchild": { | ||
| "name": "Sam", | ||
| "age": 30, | ||
| } | ||
| } | ||
| } | ||
|
|
||
| parent.speak = function speak() { | ||
| return "Hello, my name is " + this.name + "!"; | ||
| } | ||
|
|
||
| parent.child.speak = function speak() { | ||
| return "Hello, my name is " + this.name + "!"; | ||
| } | ||
|
|
||
| parent.child.grandchild.speak = function speak() { | ||
| return "Hello, my name is " + this.name + "!"; | ||
| } | ||
|
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 job including the stretch problem |
||
|
|
||
| // Log the parent object's name | ||
|
|
||
| console.log(parent.name); | ||
|
|
||
| // Log the child's age | ||
|
|
||
| console.log(parent.child.name); | ||
|
|
||
| // Log the name and age of the grandchild | ||
|
|
||
| console.log(parent.child.grandchild.name); | ||
|
|
||
| // 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()); | ||
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.
could have done something like: