From e5da1dea3f7d2243d4389e91839b5b69abdeb9ea Mon Sep 17 00:00:00 2001 From: austinc512 <85425656+austinc512@users.noreply.github.com> Date: Tue, 18 Jul 2023 07:32:23 -0500 Subject: [PATCH 1/2] examples completed --- sorting.js | 1135 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1135 insertions(+) create mode 100644 sorting.js diff --git a/sorting.js b/sorting.js new file mode 100644 index 0000000..1e4fa29 --- /dev/null +++ b/sorting.js @@ -0,0 +1,1135 @@ +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 +// can convert nums using map method +const stringsToNumbs = (numbers) => { + return numbers.map((num) => Number(num)); +}; + +console.log(stringsToNumbs(strNums)); + +// With the same numbers, find the sum of the even values +const sumEvens = (arr) => { + const nums = stringsToNumbs(arr); + const even = nums.filter((element) => element % 2 === 0); + // console.log(even); + const sum = even.reduce((acc, curr) => acc + curr, 0); + return sum; +}; + +console.log(sumEvens(strNums)); + +// Find the index of the first value when added to it's index = 512 (#ATX!!) +// get nums array +// for loop find first place where index + value === 512 +// break so only first iteration can occur +const atxIdx = (arr) => { + const nums = stringsToNumbs(arr); + for (let i = 0; i < arr.length; i++) { + if (i + nums[i] === 512) { + console.log(`index: ${i}, value: ${nums[i]}`); + break; + } + } +}; +atxIdx(strNums); + +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'] + +// initialize output array as empty array +// use forEach to iterate over array elements +// if element is not contained within output array, push that element to the output array +const weatherStates = (arr) => { + const outputArr = []; + arr.forEach(function (element) { + if (!outputArr.includes(element.weather_state_name)) { + outputArr.push(element.weather_state_name); + } + }); + return outputArr; +}; + +console.log(weatherStates(weather)); + +// I used a higher order function via forEach method +// Correctly returns ['Light Cloud', 'Heavy Cloud', 'Showers'] + +//find the id of the object in weather that has a min_temp of 15.915 + +let idealTemp = (arr) => { + const [index] = arr.filter((element) => element.min_temp === 15.915); + return index.id; +}; +console.log(idealTemp(weather)); // 6696130918219776 From 1365b3fdf0b58912229b92198bb04d28c0307535 Mon Sep 17 00:00:00 2001 From: austinc512 <85425656+austinc512@users.noreply.github.com> Date: Tue, 18 Jul 2023 11:25:00 -0500 Subject: [PATCH 2/2] updated --- sorting.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sorting.js b/sorting.js index 1e4fa29..27da0d0 100644 --- a/sorting.js +++ b/sorting.js @@ -1024,17 +1024,20 @@ console.log(sumEvens(strNums)); // get nums array // for loop find first place where index + value === 512 // break so only first iteration can occur + +// findIndex method works for this. const atxIdx = (arr) => { const nums = stringsToNumbs(arr); - for (let i = 0; i < arr.length; i++) { - if (i + nums[i] === 512) { - console.log(`index: ${i}, value: ${nums[i]}`); - break; - } - } + // for (let i = 0; i < arr.length; i++) { + // if (i + nums[i] === 512) { + // console.log(`index: ${i}, value: ${nums[i]}`); + // break; + // } + // } + const ausTx = nums.findIndex((element, index) => element + index === 512); + console.log(`index: ${ausTx}, value: ${nums[ausTx]}`); }; atxIdx(strNums); - const weather = [ { id: 5743823523151872,