diff --git a/01week/helloworld.js b/01week/helloworld.js new file mode 100644 index 000000000..fc103a167 --- /dev/null +++ b/01week/helloworld.js @@ -0,0 +1,5 @@ +'use strict' + +console.log("Hello World!"); + + diff --git a/05week/classes.js b/05week/classes.js new file mode 100644 index 000000000..88887c091 --- /dev/null +++ b/05week/classes.js @@ -0,0 +1,126 @@ +// 'use strict' + +// // create a class that represents a Rectangle + +// // constructor to take in the length of all 4 sides + +// // method that returns the area +// // and +// // method that returns the perimeter + +// class Rectangle +// { +// constructor(l, w){ +// this.l = l; +// this.w = w; +// } + +// // return the perimeter of the Rectangle + +// perimeter(){ +// return (this.l * 2) + (this.w * 2); + +// } + +// // returns the area of the Rectangle + +// area(){ +// return this.l * this.w; +// } +// } + + + +// let x = new Rectangle(4,2); + +// console.log(x.area()); +// console.log(x.perimeter()); + + + + + + + + + +// 'use strict' + +// class Person { +// //names +// //age/ +// //height + +// constructor(name, height, age){ +// // console.log("Inside the constructor"); +// if(height || height < 0){ +// this.height = height; +// } else { +// this.height = 66; +// } + +// this.name = name + +// this.age = age +// } + +// greeting(){ +// return "Hi! my name is " + this.name; +// } +// } + + +// let guy = new Person("Adam", 68, 31) +// let gal = new Person("Eve", 70, 23) + + + +// console.log(guy.greeting()); + + +'use strict' + + +//stand in for crew member +class Student { + + + constructor(name, gradeLevel){ + this.name = name; + this.gradeLevel = gradeLevel; + this.homeRoom = null; + } + + description(){ + return`${this.name} is a ${this.gradeLevel}th grader)`; + } +} + +//stand in for ship +class HomeRoom{ + constructor(roomNumber, teacher){ + this.teacher = teacher; + this.roomNumber = roomNumber; + this.students = []; + } + + description(){ + + + if(this.students.length == 0) { + return `Home room ${this.roomNumber} is managed by ${this.teacher}`; + } else { + return `Home room ${this.roomNumber} is managed by ${this.teacher} with ${this.students.length} students`; + } + + } +} + +let mike = new Student("Mike", 10); +let mark = new Student("Mark", 10); +let amy = new Student("Amy", 12); + +let r1 = new HomeRoom("101", "Mr DeFazio"); +let r2 = new HomeRoom("102", "Ms Maria"); + +console.log(r1.description()); \ No newline at end of file diff --git a/06week/sorting.js b/06week/sorting.js new file mode 100644 index 000000000..13b45f49d --- /dev/null +++ b/06week/sorting.js @@ -0,0 +1,138 @@ +'use strict' + +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) => { + let numsArray = []; + //loop through array + for (let i = 0; i < strNums.length; i++) { + let newNum = parseInt(strNums[i]); + //convert the string to array + numsArray.push(newNum); + } + //push the number onto the array + return numsArray; +} + +// With the same numbers, find the sum of the even values +let sumEvens = 0; +let myNumArray = stringsToNumbs(strNums); +//loop through array +for (let i = 0; i < myNumArray.length; i++) { + //find even numbers + if (myNumArray[i] % 2 == 0) { + //add to the total sum + sumEvens += myNumArray[i]; + } +} + +console.log(sumEvens); + +// Find the index of the first value when added to it's index = 512 (#ATX!!) +let atxIdx; + +function findIndex(someArray) { + for (let i = 0; i < myNumArray.length; i++) { + if (i + myNumArray[i] == 512) { + atxIdx = i; + return atxIdx; + } + } +} +let myAtxIdx = findIndex(myNumArray); + +console.log(`index: ${myAtxIdx}, value: ${myNumArray[myAtxIdx]}`); + +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'] + +let findStateName = function(element, index) { //still need to sort for duplicates + return element.weather_state_name; +} + +let weatherStates = weather.map(findStateName); + +console.log(weatherStates); + +//find the id of the object in weather that has a min_temp of 15.915 + +let idealTemp = weather.reduce(function (prev, curr, index) { + + if(curr.min_temp == 15.915 ){ + return curr.id; + } + +}); + +console.log(idealTemp); \ No newline at end of file