Homework 2 #5

Merged
merged 7 commits into from Dec 12, 2018
File filter...
Filter file types
Jump to file or symbol
Failed to load files and symbols.
+709 −0
Diff settings

Always

Just for now

Next

Homework 2 files

  • Loading branch information...
norbs committed Nov 30, 2018
commit 7afb692cd7c78d537b1fbc161c72f505004ce0a2
@@ -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.

// Follow the steps below.

// ##### 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++) {

This comment has been minimized.

@vodnik

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;

This comment has been minimized.

@vodnik

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 @@
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- js -->
<script src="app.js"></script>
</body>
</html>
@@ -0,0 +1,64 @@
/////////////////////////////////////////////////////////////

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

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

// Write your answers inside this file, at the places where it's indicated by the comments.


// 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

// Answer Starts Here

// Answer Ends Here


// 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
// - an address

let pet_owner;

// Answer Starts Here

// Answer Ends Here


// 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;

// Answer Starts Here

// Answer Ends Here

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

// You're done!

/////////////////////////////////////////////////////////////
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Output for pet objects challenge</h1>

<script src="app.js" type="text/javascript" charset="utf-8" async defer></script>

</body>
</html>
@@ -0,0 +1,54 @@
body {
padding: 20px;
text-align: center;
}

h1 {
font-family: Georgia, serif;
}

.converter-container {
width: 340px;
margin: 0 auto;
}

input {
margin-right: 10px;
padding: 10px;
border: 3px solid #dfdfdf;
border-radius: 4px;
}

input:focus {
border-color: #afafaf;
outline: none;
}

button {
font-size: 14px;
padding: 10px;
color: white;
border: none;
border-radius: 4px;
outline: none;
background: #f26629;
cursor: pointer;
}

/* Error styles
================================================================ */

/* This class shoud be added to the input if the user has not entered a value */
.error {
border-color: red;
}

/* This error message should fade in if the user has not entered a value */
.error-message {
color: white;
border: 3px solid red;
border-radius: 4px;
display: none; /*Hidden by default*/
background-color: rgba(255, 0, 0, .6);
padding: 10px;
}
Oops, something went wrong.
ProTip! Use n and p to navigate between commits in a pull request.