# Homework 2 #5

Merged
merged 7 commits into from Dec 12, 2018
Commits
Filter file types
Failed to load files and symbols.
+1,224 −0

#### Just for now

@@ -0,0 +1,44 @@
// Relying on your newfound knowledge of loops, combine loops and if/else statements together and incrementally build the common fizzbuzz loop.

// - In the loop, every time a number is divisible by **3**, instead of logging the number itself, the word "fizz" should appear.
// - If the number is divisible by **5**, the word "buzz" should be logged.
// - If the number is divisible by both **3** and **5**, then the word "fizzbuzz" should be logged.

// ##### Step 1:
// Construct a for loop that iterates through, and `console.log()`'s out, numbers 1 - 100.

// ##### Step 2:
// Add an `if/else` statement that logs the string `"fizz"` if the value being iterated over is divisible by `3`; otherwise, log out the value.

// ##### Step 3:
// Add an `else if` clause that logs the string `"buzz"` if the value being iterated over is divisible by `5`.

// ##### Step 4:
// Add an additional `else if` clause that logs the string `"fizzbuzz"` if the value being iterated over is divisible by both `3` and `5`.

//##### BONUS:

// a. Make a copy of your existing code and comment out the original.
// b. In the new copy, instead of using console.log for the results, push the
// result of each loop to an array.
// c. After all iterations have, completed, use the forEach array method to log
// each array element value to the console.
// Label your console output with the original number and a colon before each
// array value. (Hint: How can you shorten your code using a second forEach
// function parameter?)

for(let i=1;i<=100;i++) {

#### vodnik Dec 12, 2018

Owner

I recommend spaces around operators for readability.

let fizz = i % 3 === 0;
let buzz = i % 5 === 0;
let output = i;

#### vodnik Dec 12, 2018

Owner

This is an elegant solution -- creating an output variable and then mutating it (or not) depending on the tests. Nice!

if(fizz && buzz) {
output = 'fizzbuzz';
} else if(fizz) {
output = 'fizz';
} else if(buzz) {
output = 'buzz';
}
console.log(output);
}
 @@ -0,0 +1,9 @@
@@ -0,0 +1,114 @@
/////////////////////////////////////////////////////////////

///////////////////////// Challenge /////////////////////////

/////////////////////////////////////////////////////////////

// 1. Suppose that we wanted to create a browser-based calendar program for keeping track of things. In comments, list at least three reasonable abstractions that you might use to build this program; for each abstraction, list out at least two properties and behaviors that it would make sense for that abstraction to have. Below is an example - please write your answer in the same format.
// 'Car'
// Description: Our app manages car sales.
// Every 'car' has
// - a make
// - a model
// - a year
// Every 'car' can
// - drive
// - brake
// - park

// 'Day'
// Description:
// Every 'day' has
// - a date
// - a list of events
// Every 'day' can
// - removeEvent

// 'Event'
// Decription: An event on the calendar
// Every 'event' has
// - a name
// - a location
// - a guest list
// - a start time
// - an end time
// Every 'event' can
// - update its name
// - update its location
// - update start time
// - update end time
// - remove a guest

// 'Guest'
// Decription: A guest invitee to an event
// Every 'guest' has
// - a name
// - accepted / declined / not responded status
// Every 'guest' can
// - update name
// - update email
// - get an invite sent

// 2. Create an Object literal that lines up with the following description. Store it in the variable 'pet_owner', below. Be sure to give it reasonable values for each of its properties.

// 'Owner'
// Description: We are making an app for a veterinary clinic - it manages pets' vaccinations.
// Every 'owner' has:
// - a name

let pet_owner;

pet_owner = {
name: 'Richard Verner',
address: '123 Maple Lane, Winnipeg, Manitoba',
};

// 3. Create an Object literal that lines up with the following description. Store it in the variable `some_pet`, below.

// Pet
// Description: We are making an app for a veterinary clinic - it manages pets' vaccinations.
// Every 'pet' has:
// - a name
// - a species
// - a breed
// - a noise that it can make (e.g. 'bark', 'meow', etc.)
// Every pet can:
// - make noise (each pet makes its own unique noise, as specified by `noise`.

let some_pet;

some_pet = {
name: 'Spot',
species: 'Dog',
breed: 'FOMO Shepherd',
noise: 'woof!',
makeNoise: function() {
console.log(this.noise);

#### vodnik Dec 12, 2018

Owner

You nailed `this`!

},
}