diff --git a/src/challenge.ts b/src/challenge.ts index 63a7766..618cf59 100644 --- a/src/challenge.ts +++ b/src/challenge.ts @@ -1,5 +1,18 @@ // 🌶️🌶️🌶️ Extra +// let greaterThanTwentyFive = numbers.filter((number) => (number >= 25 ? true : false)); + +// return greaterThanTwentyFive; + +// let squaredNumbers = numbers.map((number) => { +// return number ** 2; +// }); + +// return squaredNumbers; +// const numbers: number[] = [1, 2, 3]; +// const strings: string[] = ["apple", "b", "c"]; +// type T = (numbers: number[], strings: string[]) => void; + // `logger` function that: // - Accepts "array" parameter which holds elements of the same type // - log every element in an array @@ -8,8 +21,19 @@ // logger([1, 2, 3]); // logger([1, 2, 3, "one", "two", "three"]); function logger(array: T[]): void { - // write your code here... + array.forEach((item) => console.log(item)); } +// let number = numbers.map((value) => { +// console.log(value); + +logger([]); +// function loggers(array: T[]): void { +// let string = strings.map((value) => { +// console.log(value); +// }); +// } + +// loggers(strings); // `toCelsius` function that: // - Accepts "temperatures" parameter of type "number[]", representing temperature values in Fahrenheit. @@ -18,9 +42,9 @@ function logger(array: T[]): void { // example: // toCelsius([32, 68, 100, 212]); // => [0, 20, 37.7778, 100] function toCelsius(temperatures: number[]): number[] { - // write your code here... - - return []; // replace empty array with what you see is fit + // write your code here... + let conversion = temperatures.map((f) => (f - 32) * (5 / 9)); + return conversion; // replace empty array with what you see is fit } // `hottestDays` function that: @@ -31,9 +55,9 @@ function toCelsius(temperatures: number[]): number[] { // hottestDays([30, 40, 50, 60, 70], 45]); // => [50, 60, 70] // hottestDays([80, 90, 100, 110], 95); // => [100, 110] function hottestDays(temperatures: number[], threshold: number): number[] { - // write your code here... - - return []; // replace empty array with what you see is fit + // write your code here... + let listOfHottestDays = temperatures.filter((temp) => temp > threshold); + return listOfHottestDays; // replace empty array with what you see is fit } // `logHottestDays` function that: @@ -41,7 +65,10 @@ function hottestDays(temperatures: number[], threshold: number): number[] { // - Accepts "threshold" parameter of type "number" // - Log temperatures that exceed the threshold to the console IN DEGREES CELSIUS (hint: you can combine all previous functions) function logHottestDays(temperatures: number[], threshold: number): void { - // write your code here... + // write your code here... + const hotOnly = hottestDays(temperatures, threshold); + const converted = toCelsius(hotOnly); + logger(converted); } export { logger, toCelsius, hottestDays, logHottestDays }; diff --git a/src/filtering.ts b/src/filtering.ts index 49411d8..d4ab5ac 100644 --- a/src/filtering.ts +++ b/src/filtering.ts @@ -10,9 +10,10 @@ const numbers = [10, 13, 20, 25, 38, 35, 40]; // example: // greaterThanTwentyFive(numbers); // => [38, 35, 40] function greaterThanTwentyFive(numbers: number[]): number[] { - // write your code here... + // write your code here... + let greaterThanTwentyFive = numbers.filter((number) => (number >= 25 ? true : false)); - return []; // replace empty array with what you see is fit + return greaterThanTwentyFive; // replace empty array with what you see is fit } // `divisibleByFive` function that: @@ -21,9 +22,10 @@ function greaterThanTwentyFive(numbers: number[]): number[] { // example: // divisibleByFive(numbers); // => [10, 20, 25, 35, 40] function divisibleByFive(numbers: number[]): number[] { - // write your code here... + // write your code here... + let divisibleByFive = numbers.filter((number) => (number % 5 === 0 ? true : false)); - return []; // replace empty array with what you see is fit + return divisibleByFive; // replace empty array with what you see is fit } export { greaterThanTwentyFive, divisibleByFive }; diff --git a/src/mapping.ts b/src/mapping.ts index 6f18eef..8be9cac 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -10,9 +10,12 @@ const numbers = [10, 13, 20, 25, 38, 35, 40]; // example: // squaredNumbers(numbers); // => [100, 169, 400, 625, 1444, 1225, 1600] function squaredNumbers(numbers: number[]): number[] { - // write your code here... + // write your code here... + let squaredNumbers = numbers.map((number) => { + return number ** 2; + }); - return []; // replace empty array with what you see is fit + return squaredNumbers; // replace empty array with what you see is fit } // `doubledNumbers` function that: @@ -21,9 +24,12 @@ function squaredNumbers(numbers: number[]): number[] { // example: // doubledNumbers(numbers); // => [20, 26, 40, 50, 76, 70, 80] function doubledNumbers(numbers: number[]): number[] { - // write your code here... + // write your code here... + let doubledNumbers = numbers.map((number) => { + return number * 2; + }); - return []; // replace empty array with what you see is fit + return doubledNumbers; // replace empty array with what you see is fit } export { squaredNumbers, doubledNumbers }; diff --git a/src/mapping_filtering.ts b/src/mapping_filtering.ts index 269ad83..24510b0 100644 --- a/src/mapping_filtering.ts +++ b/src/mapping_filtering.ts @@ -10,9 +10,14 @@ const numbers = [10, 13, 20, 25, 38, 35, 40]; // example: // filteredAndSquared(numbers); // => [400, 625, 1444, 1225, 1600] function filteredAndSquared(numbers: number[]): number[] { - // write your code here... + // write your code here... + let filtered = numbers.filter((number) => (number >= 20 ? true : false)); - return []; // replace empty array with what you see is fit + let squared = filtered.map((number) => { + return number * number; + }); + + return squared; // replace empty array with what you see is fit } // `filteredAndTripled` function that: @@ -21,9 +26,14 @@ function filteredAndSquared(numbers: number[]): number[] { // example: // filteredAndTripled(numbers); // => [30, 60, 75, 105, 120] function filteredAndTripled(numbers: number[]): number[] { - // write your code here... + // write your code here... + let filtered = numbers.filter((number) => (number % 5 === 0 ? true : false)); + + let squared = filtered.map((number) => { + return number * 3; + }); - return []; // replace empty array with what you see is fit + return squared; // replace empty array with what you see is fit } export { filteredAndSquared, filteredAndTripled };