diff --git a/06week/dodgeball/dodgeball.css b/06week/dodgeball/dodgeball.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/06week/dodgeball/dodgeball.html b/06week/dodgeball/dodgeball.html
new file mode 100644
index 000000000..fc2d21be0
--- /dev/null
+++ b/06week/dodgeball/dodgeball.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+ Dodge Ball
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/06week/dodgeball/dodgeball.js b/06week/dodgeball/dodgeball.js
new file mode 100644
index 000000000..2a0097445
--- /dev/null
+++ b/06week/dodgeball/dodgeball.js
@@ -0,0 +1,216 @@
+'use strict';
+
+// let assert = require('assert');
+
+// changing ids to make an easier call
+const arrOfPeople = [
+ {
+ id: 0,
+ name: "Charles Young",
+ age: 55,
+ skillSet: "welding",
+ placeBorn: "Omaha, Nebraska"
+ },
+ {
+ id: 1,
+ name: "Judy Twilight",
+ age: 35,
+ skillSet: "fishing",
+ placeBorn: "Louisville, Kentucky"
+ },
+ {
+ id: 2,
+ name: "Cynthia Doolittle",
+ age: 20,
+ skillSet: "tic tac toe",
+ placeBorn: "Pawnee, Texas"
+ },
+ {
+ id: 3,
+ name: "John Willouby",
+ age: 28,
+ skillSet: "pipe fitting",
+ placeBorn: "New York, New York"
+ },
+ {
+ id: 4,
+ name: "Stan Honest",
+ age: 20,
+ skillSet: "boom-a-rang throwing",
+ placeBorn: "Perth, Australia"
+ },
+ {
+ id: 5,
+ name: "Mia Watu",
+ age: 17,
+ skillSet: "acrobatics",
+ placeBorn: "Los Angeles, California"
+ },
+ {
+ id: 6,
+ name: "Walter Cole",
+ age: 32,
+ skillSet: "jump rope",
+ placeBorn: "New Orleans, Louisiana"
+ },
+]
+
+class Person {
+ constructor(person) {
+ this.id = person.id;
+ this.name = person.name;
+ this.age = person.age;
+ this.skillSet = person.skillSet;
+ this.placeBorn = person.placeBorn;
+ this.canThrowBall = false
+ this.canDodgeBall = false
+ this.hasPaid = false
+ this.isHealthy = false
+ this.yearsExperience = false
+
+ this.team = person.team;
+ this.isPlayer = person.isPlayer;
+ }
+}
+
+//creating a new instance of each person in the array
+const people = arrOfPeople.map(person => new Person(person));
+console.log(people)
+
+// creating a function that lists the people
+const listPeopleChoices = () => {
+ // attaching to the DOM
+ const listElement = document.getElementById('people')
+ // does not allow multiple of the same list
+ listElement.innerHTML = '';
+ // filtering through people who are not already players
+ // mapping through each person to make a new array of players
+ people.filter(person => !person.isPlayer).map(person => {
+ // create new list elements
+ const li = document.createElement("li")
+ // create new button elements
+ const button = document.createElement("button")
+ // content inside the button
+ button.innerHTML = "Make Player"
+ // onclick function that moves from people to player array
+ button.addEventListener('click', function() {makePlayer(person.id)} )
+ // attaching button to list element
+ li.appendChild(button)
+ // attaching persons name & skill to the list element
+ li.appendChild(document.createTextNode(person.name + " - " + person.skillSet))
+ // appending list element to the DOM
+ listElement.append(li)
+ })
+}
+
+// creating a function that lists the players
+const listPlayerChoices = () => {
+ // attaching to the DOM
+ const listElement = document.getElementById('players')
+ // does not allow multiple of the same list
+ listElement.innerHTML = '';
+ // filtering through players who are not already on a team
+ // mapping through each person to make a new array of teams
+ people.filter(person => person.isPlayer && !person.team).map(person => {
+ // creating a new list element
+ const li = document.createElement("li")
+
+ // creating a new button element
+ const buttonRed = document.createElement("button")
+ // content inside the button
+ buttonRed.innerHTML = "Make Red"
+ // onclick function that moves players to red team
+ buttonRed.addEventListener('click', function() {makeRed(person.id)} )
+ // appends it to the list element
+ li.appendChild(buttonRed)
+
+ // creating a new button element
+ const buttonBlue = document.createElement("button")
+ // content inside the button
+ buttonBlue.innerHTML = "Make Blue"
+ // onclick function that moves players to the blue team
+ buttonBlue.addEventListener('click', function() {makeBlue(person.id)} )
+ // appends it to the DOM
+ li.appendChild(buttonBlue)
+
+ // attahcing persons name & skill to the list element
+ li.appendChild(document.createTextNode(person.name + " - " + person.skillSet))
+ // appending the list element to the DOM
+ listElement.append(li)
+ })
+}
+
+const listRedChoices = () => {
+ const listElement = document.getElementById('red')
+ listElement.innerHTML = '';
+ people.filter(person => person.isPlayer && person.team === 'red').map(person => {
+ const li = document.createElement("li")
+ const button = document.createElement("button")
+ button.innerHTML = "Make Player"
+ button.addEventListener('click', function() {makePlayer(person.id)} )
+ li.appendChild(button)
+ li.appendChild(document.createTextNode(person.name + " - " + person.skillSet + ' - Team Color: Red - Team Mascot: Lobster'))
+ listElement.append(li)
+ })
+}
+
+const listBlueChoices = () => {
+ const listElement = document.getElementById('blue')
+ listElement.innerHTML = '';
+ people.filter(person => person.isPlayer && person.team === 'blue').map(person => {
+ const li = document.createElement("li")
+ const button = document.createElement("button")
+ button.innerHTML = "Make Player"
+ button.addEventListener('click', function() {makePlayer(person.id)} )
+ li.appendChild(button)
+ li.appendChild(document.createTextNode(person.name + " - " + person.skillSet + ' - Team Color: Blue - Team Mascot: Jay'))
+ listElement.append(li)
+ })
+}
+
+// called on a button click and the calls the listPeople function that will display the arrays
+const makePlayer = (id) => {
+ console.log(`li ${id} was clicked!`)
+ people.find(person => person.id === id).isPlayer = true;
+ listPeople();
+}
+
+// called on a button click and the calls the listPeople function that will display the arrays
+const makeRed = (id) => {
+ console.log(`li ${id} was clicked!`)
+ people.find(person => person.id === id).team = 'red';
+ listPeople();
+}
+
+// called on a button click and the calls the listPeople function that will display the arrays
+const makeBlue = (id) => {
+ console.log(`li ${id} was clicked!`)
+ people.find(person => person.id === id).team = 'blue';
+ listPeople();
+}
+
+// called on a button click and the calls the listPeople function that will display the arrays
+const makePerson = (id) => {
+ console.log(`li ${id} was clicked!`)
+ people.find(person => person.id === id).isPlayer = false;
+ listPeople();
+}
+
+// master functions that calls all other functions that displays the arrays to the DOM
+const listPeople = () => {
+ listBlueChoices()
+ listRedChoices()
+ listPeopleChoices();
+ listPlayerChoices();
+}
+
+if (typeof describe === 'function') {
+ describe('makePlayer()', () => {
+ it('should move to player array', () => {
+ makePlayer(person[0]);
+ assert.equal(person.isPlayer, true);
+ });
+ });
+ };
+
+
\ No newline at end of file
diff --git a/06week/dodgeball/readMe.md b/06week/dodgeball/readMe.md
new file mode 100644
index 000000000..889c79708
--- /dev/null
+++ b/06week/dodgeball/readMe.md
@@ -0,0 +1,24 @@
+- create people
+
+- create a class that designates that a player:
+ -canThrowBall
+ -canDodgeBall
+ -hasPaid
+ -isHealthy
+ -yearsExperience
+
+- has the ability to push players to an array that is displayed in the DOM
+
+- each player must have a button that selects either blue or red team
+
+- when people are pushed to players they are removed from the people list
+
+- when players are pushed to a team they are removed from the players list
+
+- players team will designate their mascot and teamcolor
+
+- use the this keyword attached to the players button that contains an event listener of onclick that depicts which team they will be on
+
+- once the players are pushed to a team allow the arrays to print to the DOM
+
+- create 3 additional tests
\ No newline at end of file
diff --git a/06week/higherOrder.js b/06week/higherOrder.js
deleted file mode 100644
index 73926e3dc..000000000
--- a/06week/higherOrder.js
+++ /dev/null
@@ -1,103 +0,0 @@
-'use strict';
-
-const assert = require('assert');
-
-function forEach(arr, callback) {
- // Your code here
-}
-
-function map(arr, callback) {
- // Your code here
-}
-
-function filter(arr, callback) {
- // Your code here
-}
-
-function some(arr, callback) {
- // Your code here
-}
-
-function every(arr, callback) {
- // Your code here
-}
-
-if (typeof describe === 'function') {
-
- describe('#forEach()', () => {
- it('should call the callback the array.length number of times', () => {
- let count = 0;
- forEach([1, 2, 3], () => {
- count++;
- });
- assert.equal(count, 3);
- });
- });
-
- describe('#map()', () => {
- const arr = [1, 2, 3];
- const mapped = map(arr, (num) => {
- return num * num;
- });
- it('should return new array with mapped items', () => {
- assert.deepEqual(mapped, [1, 4, 9]);
- });
- it('should not affect the original array', () => {
- assert.deepEqual(arr, [1, 2, 3]);
- })
- });
-
- describe('#filter()', () => {
- it('should return an array of items that pass the predicate test', () => {
- const filtered = filter([1, 2, 3], (num) => {
- return num % 2 === 0;
- });
- assert.deepEqual(filtered, [2]);
- });
- });
-
- describe('#some()', () => {
- let count = 0;
- const somed = some([1, 2, 3, 4], (num) => {
- count++;
- return num % 2 === 0;
- });
- it('should return true if at least one item passes the predicate test', () => {
- assert.equal(somed, true);
- });
- it('should stop at the first item that passes the predicate test', () => {
- assert.equal(count, 2);
- });
- it('should return false if no items pass the predicate test', () => {
- const somed = some([1, 3, 5], (num) => {
- return num % 2 === 0;
- });
- assert.equal(somed, false);
- });
- });
-
- describe('#every()', () => {
- it('should return true if at all passes the predicate test', () => {
- const everied = every([2, 4, 6], (num) => {
- return num % 2 === 0;
- });
- assert.equal(everied, true);
- });
- let count = 0;
- const everied = every([2, 3, 4, 5], (num) => {
- count++;
- return num % 2 === 0;
- });
- it('should return false if any item fails the predicate test', () => {
- assert.equal(everied, false);
- });
- it('should stop at the first item that fails the predicate test', () => {
- assert.equal(count, 2);
- });
- });
-
-} else {
-
- console.log('Only run the tests on this one!')
-
-}
diff --git a/06week/sorting.js b/06week/sorting.js
new file mode 100644
index 000000000..e92286c1d
--- /dev/null
+++ b/06week/sorting.js
@@ -0,0 +1,108 @@
+const strNums = ["1","4","1","5","9","2","6","5","3","5","8","9","7","9","3","2","3","8","4","6","2","6","4","3","3","8","3","2","7","9","5","0","2","8","8","4","1","9","7","1","6","9","3","9","9","3","7","5","1","0","5","8","2","0","9","7","4","9","4","4","5","9","2","3","0","7","8","1","6","4","0","6","2","8","6","2","0","8","9","9","8","6","2","8","0","3","4","8","2","5","3","4","2","1","1","7","0","6","7","9","8","2","1","4","8","0","8","6","5","1","3","2","8","2","3","0","6","6","4","7","0","9","3","8","4","4","6","0","9","5","5","0","5","8","2","2","3","1","7","2","5","3","5","9","4","0","8","1","2","8","4","8","1","1","1","7","4","5","0","2","8","4","1","0","2","7","0","1","9","3","8","5","2","1","1","0","5","5","5","9","6","4","4","6","2","2","9","4","8","9","5","4","9","3","0","3","8","1","9","6","4","4","2","8","8","1","0","9","7","5","6","6","5","9","3","3","4","4","6","1","2","8","4","7","5","6","4","8","2","3","3","7","8","6","7","8","3","1","6","5","2","7","1","2","0","1","9","0","9","1","4","5","6","4","8","5","6","6","9","2","3","4","6","0","3","4","8","6","1","0","4","5","4","3","2","6","6","4","8","2","1","3","3","9","3","6","0","7","2","6","0","2","4","9","1","4","1","2","7","3","7","2","4","5","8","7","0","0","6","6","0","6","3","1","5","5","8","8","1","7","4","8","8","1","5","2","0","9","2","0","9","6","2","8","2","9","2","5","4","0","9","1","7","1","5","3","6","4","3","6","7","8","9","2","5","9","0","3","6","0","0","1","1","3","3","0","5","3","0","5","4","8","8","2","0","4","6","6","5","2","1","3","8","4","1","4","6","9","5","1","9","4","1","5","1","1","6","0","9","4","3","3","0","5","7","2","7","0","3","6","5","7","5","9","5","9","1","9","5","3","0","9","2","1","8","6","1","1","7","3","8","1","9","3","2","6","1","1","7","9","3","1","0","5","1","1","8","5","4","8","0","7","4","4","6","2","3","7","9","9","6","2","7","4","9","5","6","7","3","5","1","8","8","5","7","5","2","7","2","4","8","9","1","2","2","7","9","3","8","1","8","3","0","1","1","9","4","9","1","2","9","8","3","3","6","7","3","3","6","2","4","4","0","6","5","6","6","4","3","0","8","6","0","2","1","3","9","4","9","4","6","3","9","5","2","2","4","7","3","7","1","9","0","7","0","2","1","7","9","8","6","0","9","4","3","7","0","2","7","7","0","5","3","9","2","1","7","1","7","6","2","9","3","1","7","6","7","5","2","3","8","4","6","7","4","8","1","8","4","6","7","6","6","9","4","0","5","1","3","2","0","0","0","5","6","8","1","2","7","1","4","5","2","6","3","5","6","0","8","2","7","7","8","5","7","7","1","3","4","2","7","5","7","7","8","9","6","0","9","1","7","3","6","3","7","1","7","8","7","2","1","4","6","8","4","4","0","9","0","1","2","2","4","9","5","3","4","3","0","1","4","6","5","4","9","5","8","5","3","7","1","0","5","0","7","9","2","2","7","9","6","8","9","2","5","8","9","2","3","5","4","2","0","1","9","9","5","6","1","1","2","1","2","9","0","2","1","9","6","0","8","6","4","0","3","4","4","1","8","1","5","9","8","1","3","6","2","9","7","7","4","7","7","1","3","0","9","9","6","0","5","1","8","7","0","7","2","1","1","3","4","9","9","9","9","9","9","8","3","7","2","9","7","8","0","4","9","9","5","1","0","5","9","7","3","1","7","3","2","8","1","6","0","9","6","3","1","8","5","9","5","0","2","4","4","5","9","4","5","5","3","4","6","9","0","8","3","0","2","6","4","2","5","2","2","3","0","8","2","5","3","3","4","4","6","8","5","0","3","5","2","6","1","9","3","1","1","8","8","1","7","1","0","1","0","0","0","3","1","3","7","8","3","8","7","5","2","8","8","6","5","8","7","5","3","3","2","0","8","3","8","1","4","2","0","6","1","7","1","7","7","6","6","9","1","4","7","3","0","3","5","9","8","2","5","3","4","9","0","4","2","8","7","5","5","4","6","8","7","3","1","1","5","9","5","6","2","8","6","3","8","8","2","3","5","3","7","8","7","5","9","3","7","5","1","9","5","7","7","8","1","8","5","7","7","8","0","5","3","2","1","7","1","2","2","6","8","0","6","6","1","3","0","0","1","9","2","7","8","7","6","6","1","1","1","9","5","9","0","9","2","1","6","4","2","0","1","9","8","9"];
+
+// Given 1000 digits of PI as strings, return an array of the digits as numbers
+const stringsToNumbs = (numbers) => {
+ return numbers.map(Number);
+}
+// console.log(stringsToNumbs(strNums)); -----------------------------------------------
+let newArr1 = stringsToNumbs(strNums)
+
+// With the same numbers, find the sum of the even values
+const sumEvens = (evens) => {
+ newArr = [];
+ for (let i = 0; i < newArr1.length; i++) {
+ if (newArr1[i] % 2 == 0) {
+ newArr.push(newArr1[i]);
+ }
+ }
+ // console.log(newArr);
+ const reducer = (accumulator, currentValue) => accumulator + currentValue;
+ console.log(newArr.reduce(reducer));
+}
+
+// console.log(sumEvens(newArr1)); --------------------------------------------------------
+
+// Find the index of the first value when added to it's index = 512 (#ATX!!)
+const atxIdx = (atx) => {
+ for (let i = 0; i < newArr1; i++) {
+ if (newArr1[i])
+ }
+}
+
+console.log(`index: ${atxIdx}, value: ${nums[atxIdx]}`);
+
+// const weather = [
+// { id: 5743823523151872,
+// weather_state_name: "Light Cloud",
+// weather_state_abbr: "lc",
+// wind_direction_compass: "NNE",
+// created: "2018-07-11T20:53:03.251710Z",
+// applicable_date: "2018-07-11",
+// min_temp: 14.43,
+// max_temp: 23.36,
+// the_temp: 22.785,
+// wind_speed: 5.682503989556987,
+// wind_direction: 21.6264939172659,
+// air_pressure: 1024.45,
+// humidity: 58,
+// visibility: 8.683041040324504,
+// predictability: 70
+// },
+// { id: 6188149969518592,
+// weather_state_name: "Heavy Cloud",
+// weather_state_abbr: "hc",
+// wind_direction_compass: "NE",
+// created: "2018-07-11T20:53:03.268190Z",
+// applicable_date: "2018-07-12",
+// min_temp: 14.81,
+// max_temp: 25.52,
+// the_temp: 24.61,
+// wind_speed: 3.2461141472739206,
+// wind_direction: 42.72552812997726,
+// air_pressure: 1024.605,
+// humidity: 54,
+// visibility: 10.633835898353615,
+// predictability: 71
+// },
+// { id: 5742049676492800,
+// weather_state_name: "Showers",
+// weather_state_abbr: "s",
+// wind_direction_compass: "E",
+// created: "2018-07-11T20:53:03.947390Z",
+// applicable_date: "2018-07-13",
+// min_temp: 15.5525,
+// max_temp: 25.3475,
+// the_temp: 24.175,
+// wind_speed: 3.6572546846814604,
+// wind_direction: 90.32910675612557,
+// air_pressure: 1025.385,
+// humidity: 57,
+// visibility: 10.181166984808717,
+// predictability: 73
+// },
+// { id: 6696130918219776,
+// weather_state_name: "Heavy Cloud",
+// weather_state_abbr: "hc",
+// wind_direction_compass: "SSW",
+// created: "2018-07-11T20:53:04.068570Z",
+// applicable_date: "2018-07-14",
+// min_temp: 15.915,
+// max_temp: 27.0925,
+// the_temp: 26.585,
+// wind_speed: 3.649847972759087,
+// wind_direction: 200.04283406736377,
+// air_pressure: 1024.4450000000002,
+// humidity: 52,
+// visibility: 11.14056410562316,
+// predictability: 71
+// },
+// ],
+
+// //using a higher order function, create an array of the unique 'weather_state_name' values of the weather array. Your function should return the following array ['Light Cloud', 'Heavy Cloud', 'Showers']
+// const weatherStates =
+// console.log(weatherStates)
+
+// //find the id of the object in weather that has a min_temp of 15.915
+
+// const idealTemp =
+// console.log(idealTemp)
diff --git a/07week/fetch.html b/07week/fetch.html
new file mode 100644
index 000000000..e9c550345
--- /dev/null
+++ b/07week/fetch.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ Fetch Practice
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/07week/fetch.js b/07week/fetch.js
new file mode 100644
index 000000000..6d3f22b0f
--- /dev/null
+++ b/07week/fetch.js
@@ -0,0 +1,26 @@
+let arrayOfPosts;
+
+window.onload = function() {
+ getPosts()
+
+}
+
+const getPosts = () => {
+ fetch('http://jsonplaceholder.typicode.com/posts')
+ .then(res => res.json())
+ .then(posts => arrayOfPosts = posts)
+}
+
+const consolePosts = () => {
+ console.log(arrayOfPosts)
+}
+
+const displayPost = () => {
+ const allPosts = document.getElementById('all-posts')
+ arrayOfPosts.map((post, index) => {
+ const li = document.createElement('li')
+ const text = document.createTextNode(`#${index}, Title: ${post.title}: ${post.body}, by user: ${post.userId}`)
+ li.appendChild(text)
+ allPosts.append(li)
+ })
+}
\ No newline at end of file