Skip to content

Initial Pull Request #59

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

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@ The [arrays.js](assignments/arrays.js) assignment takes us through a large data
* Remember that a callback function is simply a function that is being passed around to other functions.

## Stretch Task - After you're done with all of the functions, go ahead and re-factor all of them to use `ES6` `Arrow Functions`

Initial Pull Request
156 changes: 97 additions & 59 deletions assignments/arrays.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,56 @@

// 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": "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 }];

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

Expand All @@ -63,34 +63,72 @@ let inventory = [{"id":1,"car_make":"Lincoln","car_model":"Navigator","car_year"

// ==== 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*` );
console.log(`Car 33 is a *car year goes here* *car make goes here* *car model goes here*`);
const car = []; //?
for (let i = 0; i < inventory.length; i++) {
if (inventory[i].id === 33) {
let carMake = inventory[i].car_make; //?
let carYear = inventory[i].car_year; //?
let carModel = inventory[i].car_model; //?
console.log('Car 33 is a ' + carYear + ' ' + carMake + ' ' + carModel);
};

};





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

};


// ==== 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++) {
inventory[i].car_model; //?
carModels.push(inventory[i].car_model); //?
console.log(carModels.sort()); //?
};
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++) {
inventory[i].car_model; //?
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].car_year); //?
};

};
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();
let BMWAndAudi = [];
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(JSON.stringify(BMWAndAudi));



29 changes: 25 additions & 4 deletions assignments/callbacks.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,49 @@ const items = ['Pencil', 'Notebook', 'yo-yo', 'Gum'];

function firstItem(arr, cb) {
// firstItem passes the first item of the given array to the callback function.
}
let firstElement = items.shift(); //?
return firstElement;
};
console.log(firstItem(items));

function getLength(arr, cb) {
// getLength passes the length of the array into the callback.
}
let getSize = items.length; //?
return getSize; //?
};
console.log(getLength(items));

function last(arr, cb) {
// last passes the last item of the array into the callback.
}
let lastElement = items.pop(); //?
return lastElement;
};
console.log(last(items));

function sumNums(x, y, cb) {
// sumNums adds two numbers (x, y) and passes the result to the callback.
}
return (x + y);
};
console.log(sumNums(3, 4));

function multiplyNums(x, y, cb) {
// multiplyNums multiplies two numbers and passes the result to the callback.
return (x * y);
}
console.log(multiplyNums(5, 5));

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.
if (list.includes(item)) {
return true;
} else {
return false;
};


}
console.log(contains('Notebook', items));

/* STRETCH PROBLEM */

Expand Down
76 changes: 71 additions & 5 deletions assignments/objects.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,47 @@ let example = {

// Write your intern objects here:

let mitzi = {
"id": 1,
"name": "Mitzi",
"email": "mmelloy0@psu.edu",
"gender": "F"
};

let kennan = {
"id": 2,
"name": "Kennan",
"email": "kdiben1@tinypic.com",
"gender": "M",
"speak": function () {
return "Hello, my name is " + kennan.name; //?
}
};

let keven = {
"id": 3,
"name": "Keven",
"email": "kmummery2@wikimedia.org",
"gender": "M"
}
let gannie = {
"id": 4,
"name": "Gannie",
"email": "gmartinson3@illinois.edu",
"gender": "M"
};

let antonietta = {
"id": 5,
"name": "Antonietta",
"email": "adaine5@samsung.com",
"gender": "F",
"multiplyNums": function (a, b) {
return a * b;
}
};



// ==== Challenge 2: Reading Object Data ====
// Once your objects are created, log out the following requests from HR into the console:
Expand All @@ -35,10 +76,10 @@ let example = {

// ==== 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());
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));
console.log(antonietta.multiplyNums(3, 4));

// === Great work! === Head over to the the arrays.js file or take a look at the stretch challenge

Expand All @@ -49,16 +90,41 @@ let 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.

let parent = {}
let parent = {
name: "Susan",
age: 70,
speak: function () {
return "Hello, my name is ", this.name; //?
},
child: {
name: "George",
age: 50,
speak: function () {
return "Hello, my name is ", this.name; //?
},
grandchild: {
name: "Sam",
age: 30,
speak: function () {
return "Hello, my name is ", 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.age, 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());