Skip to content

Mad hatter #872

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 3 commits into
base: master
Choose a base branch
from
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
208 changes: 145 additions & 63 deletions assignments/arrays.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,57 +3,67 @@
// 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: "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 }
];
{ 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 }
]

// Example 1 for loop:

Expand All @@ -75,30 +85,102 @@ 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*`);

// ================ SIMPLE SOLUTION: =====================================================
// note: no need to iterate through array -> car objects aleady ordered -> we can simply use car id - 1
// console.log(`Car 33 is a ` + inventory[32].car_year + ` ` + inventory[32].car_make + ` ` + inventory[32].car_model);
// ================ BETTER SOLUTION: =====================================================
// note: we can make a function that takes both the id and the car array and returns the information

const returnCarInfo = (id, cars) => {
const carIndex = id - 1
// edge case if carIndex out of bounds
if (carIndex > cars[cars.length - 1]) return 'id out of bounds'
const car = cars[carIndex]
return (
`Car 33 is a ` + car.car_year + ` ` + car.car_make + ` ` + car.car_model
)
}
console.log(returnCarInfo(33, inventory))

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

// including car_year -> looks better that way -> this would be important to a used-car sales person
const returnLastCarInfo = cars => {
const lastCar = cars[cars.length - 1]
return (
`The last car in the inventory is a ` +
lastCar.car_year +
` ` +
lastCar.car_make +
` ` +
lastCar.car_model
)
}

console.log(returnLastCarInfo(inventory))

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

const returnModelsAlphabetically = cars => {
const modelArr = []
cars.forEach(car => {
modelArr.push(car.car_model)
})
modelArr.sort();
return modelArr;
}
const sortedAlphabetically = returnModelsAlphabetically(inventory)
console.log("Here are the car models, listed alphabetically: ")
sortedAlphabetically.forEach(item => {
console.log(item)
})

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

const returnCarYears = (cars) => {
const years = []
cars.forEach((car) => {
years.push(car.car_year)
})
return years;
}

const years = returnCarYears(inventory);
years.sort()
console.log(years);

// ==== 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();
const returnCarsBeforeYear2000 = () => {
const oldCars = []
years.forEach((year) => {
if (year < '2000') {
oldCars.push(year);
}
})
return oldCars.length;
}

const carsBeforeYear2000 = returnCarsBeforeYear2000()
console.log("cars before year 2000: ", carsBeforeYear2000)


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

const returnAudiOrBMW = (cars) => {
const luxury = []
cars.forEach((car) => {
if (car.car_make === 'BMW' || car.car_make === 'Audi') {
luxury.push(car);
}
})
return luxury
}

const only = JSON.stringify(returnAudiOrBMW(inventory))
console.log(only)
35 changes: 33 additions & 2 deletions assignments/function-conversion.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,57 @@
// };
// myFunction();

const myFunction = () => {
console.log("Function was invoked!!!!")
}

myFunction()

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

const anotherFunction = (param) => {
return param;
}
console.log(anotherFunction("Example 2"))
// let add = function (param1, param2) {
// return param1 + param2;
// };
// add(1,2);

const add = (a, b) => {
return a + b
}

console.log(add(10, 10))

// let subtract = function (param1, param2) {
// return param1 - param2;
// };
// subtract(1,2);

const subtract = (a, b) => {
return a - b
}
console.log(subtract(10, 8))

// Stretch

// exampleArray = [1,2,3,4];
const exampleArray = [1,2,3,4];
// const triple = exampleArray.map(function (num) {
// return num * 3;
// });
// console.log(triple);
// console.log(triple);
const triple = (arr) => {
const triples = []
arr.forEach((num) => {
triples.push(num * 3)
})
return triples
}

const triples = triple(exampleArray)
console.log(triples)

Loading