Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 37 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,54 @@
# JavaScript - I

* The point of these assignments is to take your knowledge of JavaScript and start putting into practice the principles learned throughout JavaScript I.
- The point of these assignments is to take your knowledge of JavaScript and start putting into practice the principles learned throughout JavaScript I.

## Set Up The Project With Git

**Follow these steps to set up and work on your project:**

- [ ] Create a forked copy of this project.
- [ ] Add your team lead as collaborator on Github.
- [ ] Clone your OWN version of the repository (Not Lambda's by mistake!).
- [ ] Create a new branch: git checkout -b `<firstName-lastName>`.
- [ ] Implement the project on your newly created `<firstName-lastName>` branch, committing changes regularly.
- [ ] Push commits: git push origin `<firstName-lastName>`.

**Follow these steps for completing your project.**

- [ ] Submit a Pull-Request to merge <firstName-lastName> Branch into master (student's Repo). **Please don't merge your own pull request**
- [ ] Add your team lead as a reviewer on the pull-request
- [ ] Your team lead will count the project as complete by merging the branch back into master.

## Assignment Description

* Fork/Clone this repository.
* Complete all the exercises as described inside each assignment file.
* Use `console.log()` statements to check to see if your code does what it is supposed to do.
* To test your `console.log()` statements open up the index.html file found in the assignments folder and use the developer tools to view the console.
- Complete all the exercises as described inside each assignment file.
- Use `console.log()` statements to check to see if your code does what it is supposed to do.
- To test your `console.log()` statements open up the index.html file found in the assignments folder and use the developer tools to view the console.

**Note:**You could also run `node /assignments/<fileName>` and see what prints in your terminal.

* Once you finish the exercises in each file, commit your code, and push it to your fork.
- Once you finish the exercises in each file, commit your code, and push it to your fork.

### Objects
To better understand objects, you really just need to write more of them. The [objects.js](assignments/objects.js) file contains several challenges centered around a theme of interns starting at a new job. The Human Resources team needs information about the new hires. Use your new found object skills answer vital questions for HR.

* Read the instructions found within the file carefully to finish the challenges.
* Complete each challenge presented before moving on to Arrays.
To better understand objects, you really just need to write more of them. The [objects.js](assignments/objects.js) file contains several challenges centered around a theme of interns starting at a new job. The Human Resources team needs information about the new hires. Use your new found object skills to answer vital questions for HR.

- Read the instructions found within the file carefully to finish the challenges
- Don't work on stretch until you have completed all assignments

### Arrays
The [arrays.js](assignments/arrays.js) assignment takes us through a large data set of used cars. You have been asked to help a used car business with some customer requests based on their inventory. Use for loops and arrays to solve their problems.

* Utilize the the array `inventory` to complete your challenges
* You are not permitted to use map, reduce, or filter to solve these problems. Only use a basic for loop.
* Complete each challenge presented before moving on to stretch.
The [arrays.js](assignments/arrays.js) assignment takes us through a large data set of used cars. You have been asked to help a used car business with some customer requests based on their inventory. Use for loops and arrays to solve their problems.

### Stretch
- Utilize the the array `inventory` to complete your challenges
- Use any array method you see fit to solve the problem
- Don't work on stretch until you have completed all assignments

### Arrow Function Syntax

* [ ] Arrow Function Syntax - [Check out this awesome guide for ES6 arrow syntax](https://medium.freecodecamp.org/when-and-why-you-should-use-es6-arrow-functions-and-when-you-shouldnt-3d851d7f0b26). You will see more and more arrow functions as you progress deeper into JavaScript. Use the [stretch-function-conversion.js](assignments/stretch-function-conversion.js) file as a helper challenge to showcase some of the differences between ES5 and ES6 syntax.
- [ ] Arrow Function Syntax - [Check out this awesome guide for ES6 arrow syntax](https://medium.freecodecamp.org/when-and-why-you-should-use-es6-arrow-functions-and-when-you-shouldnt-3d851d7f0b26). You will see more and more arrow functions as you progress deeper into JavaScript. Use the [function-conversion.js](assignments/function-conversion.js) file as a helper challenge to showcase some of the differences between ES5 and ES6 syntax.

### 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.
- 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.
138 changes: 73 additions & 65 deletions assignments/arrays.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,70 +2,80 @@

// The car dealer has all of their inventory housed in the array seen below. Scroll down past the data to find out how you can help the car dealer.

let inventory = [{"id":1,"car_make":"Lincoln","car_model":"Navigator","car_year":2009},
{"id":2,"car_make":"Mazda","car_model":"Miata MX-5","car_year":2001},
{"id":3,"car_make":"Land Rover","car_model":"Defender Ice Edition","car_year":2010},
{"id":4,"car_make":"Honda","car_model":"Accord","car_year":1983},
{"id":5,"car_make":"Mitsubishi","car_model":"Galant","car_year":1990},
{"id":6,"car_make":"Audi","car_model":"riolet","car_year":1995},
{"id":7,"car_make":"Smart","car_model":"Fortwo","car_year":2009},
{"id":8,"car_make":"Audi","car_model":"4000CS Quattro","car_year":1987},
{"id":9,"car_make":"Ford","car_model":"Windstar","car_year":1996},
{"id":10,"car_make":"Mercedes-Benz","car_model":"E-Class","car_year":2000},
{"id":11,"car_make":"Infiniti","car_model":"G35","car_year":2004},
{"id":12,"car_make":"Lotus","car_model":"Esprit","car_year":2004},
{"id":13,"car_make":"Chevrolet","car_model":"Cavalier","car_year":1997},
{"id":14,"car_make":"Dodge","car_model":"Ram Van 1500","car_year":1999},
{"id":15,"car_make":"Dodge","car_model":"Intrepid","car_year":2000},
{"id":16,"car_make":"Mitsubishi","car_model":"Montero Sport","car_year":2001},
{"id":17,"car_make":"Buick","car_model":"Skylark","car_year":1987},
{"id":18,"car_make":"Geo","car_model":"Prizm","car_year":1995},
{"id":19,"car_make":"Oldsmobile","car_model":"Bravada","car_year":1994},
{"id":20,"car_make":"Mazda","car_model":"Familia","car_year":1985},
{"id":21,"car_make":"Chevrolet","car_model":"Express 1500","car_year":2003},
{"id":22,"car_make":"Jeep","car_model":"Wrangler","car_year":1997},
{"id":23,"car_make":"Eagle","car_model":"Talon","car_year":1992},
{"id":24,"car_make":"Toyota","car_model":"MR2","car_year":2003},
{"id":25,"car_make":"BMW","car_model":"525","car_year":2005},
{"id":26,"car_make":"Cadillac","car_model":"Escalade","car_year":2005},
{"id":27,"car_make":"Infiniti","car_model":"Q","car_year":2000},
{"id":28,"car_make":"Suzuki","car_model":"Aerio","car_year":2005},
{"id":29,"car_make":"Mercury","car_model":"Topaz","car_year":1993},
{"id":30,"car_make":"BMW","car_model":"6 Series","car_year":2010},
{"id":31,"car_make":"Pontiac","car_model":"GTO","car_year":1964},
{"id":32,"car_make":"Dodge","car_model":"Ram Van 3500","car_year":1999},
{"id":33,"car_make":"Jeep","car_model":"Wrangler","car_year":2011},
{"id":34,"car_make":"Ford","car_model":"Escort","car_year":1991},
{"id":35,"car_make":"Chrysler","car_model":"300M","car_year":2000},
{"id":36,"car_make":"Volvo","car_model":"XC70","car_year":2003},
{"id":37,"car_make":"Oldsmobile","car_model":"LSS","car_year":1997},
{"id":38,"car_make":"Toyota","car_model":"Camry","car_year":1992},
{"id":39,"car_make":"Ford","car_model":"Econoline E250","car_year":1998},
{"id":40,"car_make":"Lotus","car_model":"Evora","car_year":2012},
{"id":41,"car_make":"Ford","car_model":"Mustang","car_year":1965},
{"id":42,"car_make":"GMC","car_model":"Yukon","car_year":1996},
{"id":43,"car_make":"Mercedes-Benz","car_model":"R-Class","car_year":2009},
{"id":44,"car_make":"Audi","car_model":"Q7","car_year":2012},
{"id":45,"car_make":"Audi","car_model":"TT","car_year":2008},
{"id":46,"car_make":"Oldsmobile","car_model":"Ciera","car_year":1995},
{"id":47,"car_make":"Volkswagen","car_model":"Jetta","car_year":2007},
{"id":48,"car_make":"Dodge","car_model":"Magnum","car_year":2008},
{"id":49,"car_make":"Chrysler","car_model":"Sebring","car_year":1996},
{"id":50,"car_make":"Lincoln","car_model":"Town Car","car_year":1999}];
let inventory = [
{ id: 1, car_make: "Lincoln", car_model: "Navigator", car_year: 2009 },
{ id: 2, car_make: "Mazda", car_model: "Miata MX-5", car_year: 2001 },
{ id: 3, car_make: "Land Rover", car_model: "Defender Ice Edition", car_year: 2010 },
{ id: 4, car_make: "Honda", car_model: "Accord", car_year: 1983 },
{ id: 5, car_make: "Mitsubishi", car_model: "Galant", car_year: 1990 },
{ id: 6, car_make: "Honda", car_model: "Accord", car_year: 1995 },
{ id: 7, car_make: "Smart", car_model: "Fortwo", car_year: 2009 },
{ id: 8, car_make: "Audi", car_model: "4000CS Quattro", car_year: 1987 },
{ id: 9, car_make: "Ford", car_model: "Windstar", car_year: 1996 },
{ id: 10, car_make: "Mercedes-Benz", car_model: "E-Class", car_year: 2000 },
{ id: 11, car_make: "Infiniti", car_model: "G35", car_year: 2004 },
{ id: 12, car_make: "Lotus", car_model: "Esprit", car_year: 2004 },
{ id: 13, car_make: "Chevrolet", car_model: "Cavalier", car_year: 1997 },
{ id: 14, car_make: "Dodge", car_model: "Ram Van 1500", car_year: 1999 },
{ id: 15, car_make: "Dodge", car_model: "Intrepid", car_year: 2000 },
{ id: 16, car_make: "Mitsubishi", car_model: "Montero Sport", car_year: 2001 },
{ id: 17, car_make: "Buick", car_model: "Skylark", car_year: 1987 },
{ id: 18, car_make: "Geo", car_model: "Prizm", car_year: 1995 },
{ id: 19, car_make: "Oldsmobile", car_model: "Bravada", car_year: 1994 },
{ id: 20, car_make: "Mazda", car_model: "Familia", car_year: 1985 },
{ id: 21, car_make: "Chevrolet", car_model: "Express 1500", car_year: 2003 },
{ id: 22, car_make: "Jeep", car_model: "Wrangler", car_year: 1997 },
{ id: 23, car_make: "Eagle", car_model: "Talon", car_year: 1992 },
{ id: 24, car_make: "Toyota", car_model: "MR2", car_year: 2003 },
{ id: 25, car_make: "BMW", car_model: "525", car_year: 2005 },
{ id: 26, car_make: "Cadillac", car_model: "Escalade", car_year: 2005 },
{ id: 27, car_make: "Infiniti", car_model: "Q", car_year: 2000 },
{ id: 28, car_make: "Suzuki", car_model: "Aerio", car_year: 2005 },
{ id: 29, car_make: "Mercury", car_model: "Topaz", car_year: 1993 },
{ id: 30, car_make: "BMW", car_model: "6 Series", car_year: 2010 },
{ id: 31, car_make: "Pontiac", car_model: "GTO", car_year: 1964 },
{ id: 32, car_make: "Dodge", car_model: "Ram Van 3500", car_year: 1999 },
{ id: 33, car_make: "Jeep", car_model: "Wrangler", car_year: 2011 },
{ id: 34, car_make: "Ford", car_model: "Escort", car_year: 1991 },
{ id: 35, car_make: "Chrysler", car_model: "300M", car_year: 2000 },
{ id: 36, car_make: "Volvo", car_model: "XC70", car_year: 2003 },
{ id: 37, car_make: "Oldsmobile", car_model: "LSS", car_year: 1997 },
{ id: 38, car_make: "Toyota", car_model: "Camry", car_year: 1992 },
{ id: 39, car_make: "Ford", car_model: "Econoline E250", car_year: 1998 },
{ id: 40, car_make: "Lotus", car_model: "Evora", car_year: 2012 },
{ id: 41, car_make: "Ford", car_model: "Mustang", car_year: 1965 },
{ id: 42, car_make: "GMC", car_model: "Yukon", car_year: 1996 },
{ id: 43, car_make: "Mercedes-Benz", car_model: "R-Class", car_year: 2009 },
{ id: 44, car_make: "Audi", car_model: "Q7", car_year: 2012 },
{ id: 45, car_make: "Audi", car_model: "TT", car_year: 2008 },
{ id: 46, car_make: "Oldsmobile", car_model: "Ciera", car_year: 1995 },
{ id: 47, car_make: "Volkswagen", car_model: "Jetta", car_year: 2007 },
{ id: 48, car_make: "Dodge", car_model: "Magnum", car_year: 2008 },
{ id: 49, car_make: "Chrysler", car_model: "Sebring", car_year: 1996 },
{ id: 50, car_make: "Lincoln", car_model: "Town Car", car_year: 1999 }
];

// PROJECT RESTRICTION: You can't use map, reduce, or filter to solve these problems. Only use native JavaScript for loops.
// Example 1 for loop:

// Example for loop:
// arr = [1,2,3,4];
// for (i = 0; i < arr.length; i++) {
// arr[i]; // 1,2,3,4
// const arr = ['a', 'b', 'c', 'd'];
// for (let i = 0; i < arr.length; i++) {
// console.log(arr[i]);
// }
// 'a' 'b' 'c' 'd'

// ==== 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*` );
// Example 2 for loop:

// const arr = [12, 13, 14, 15];
// const evens = [];
// for (let i = 0; i < arr.length; i++) {
// if (arr[i] % 2 === 0) { evens.push(arr[i]); }
// }
// console.log(evens);
// [12, 14]

// ==== 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*`);

// ==== 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.
Expand All @@ -75,6 +85,7 @@ 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 = [];
let carModelsSorted = [];
console.log();

// ==== Challenge 4 ====
Expand All @@ -84,13 +95,10 @@ console.log();

// ==== 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 = [];
console.log();

// ==== 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 =[];
// 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();



Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
// Take the commented ES5 syntax and convert it to ES6 arrow Syntax

// let myFunction = function () {};
// let myFunction = function () {
// console.log("Function was invoked!");
// };
// myFunction();

// let anotherFunction = function (param) {
// return param;
// };
// anotherFunction("Example");

// let add = function (param1, param2) {
// return param1 + param2;
Expand All @@ -16,6 +20,9 @@
// };
// subtract(1,2);


// Stretch

// exampleArray = [1,2,3,4];
// const triple = exampleArray.map(function (num) {
// return num * 3;
Expand Down
2 changes: 1 addition & 1 deletion assignments/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

<script src="objects.js"></script>
<script src="arrays.js"></script>
<script src="stretch-function-conversion.js"></script>
<script src="function-conversion.js"></script>
</head>

<body>
Expand Down
22 changes: 11 additions & 11 deletions assignments/objects.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
// ==== Challenge 1: Writing Objects ====
// HR needs some information on the new interns put into a database. Given an id, email, first name, and gender. Create an object for each person in the company list:

// 1,mmelloy0@psu.edu,Mitzi,F
// 2,kdiben1@tinypic.com,Kennan,M
// 3,kmummery2@wikimedia.org,Keven,M
// 4,gmartinson3@illinois.edu,Gannie,M
// 5,adaine5@samsung.com,Antonietta,F
// 1, mmelloy0@psu.edu, Mitzi, F
// 2, kdiben1@tinypic.com, Kennan, M
// 3, kmummery2@wikimedia.org, Keven, M
// 4, gmartinson3@illinois.edu, Gannie, M
// 5, adaine5@samsung.com, Antonietta, F

// Example format of an intern object: 1,examples@you.edu,Example,F
// Example format of an intern object: 1, examples@you.edu, Example, F
const example = {
"id": 0,
"name": "Example",
"email": "examples@you.edu",
"gender": "F"
id: 0,
name: "Example",
email: "examples@you.edu",
gender: "F",
}

// Write your intern objects here:
Expand All @@ -40,7 +40,7 @@ const example = {
// 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));

// === Great work! === Head over to the the arrays.js file or take a look at the stretch challenge
// === 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 ====

Expand Down