diff --git a/src/challenge.ts b/src/challenge.ts index 63a7766..46aae85 100644 --- a/src/challenge.ts +++ b/src/challenge.ts @@ -8,9 +8,12 @@ // logger([1, 2, 3]); // logger([1, 2, 3, "one", "two", "three"]); function logger(array: T[]): void { - // write your code here... + // write your code here...function logger(array: T[]): void { + array.forEach(item => console.log(item)); } + + // `toCelsius` function that: // - Accepts "temperatures" parameter of type "number[]", representing temperature values in Fahrenheit. // - Returns an array containing the converted temperatures in Celsius. @@ -19,10 +22,11 @@ function logger(array: T[]): void { // 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 + return temperatures.map(f => (f - 32) * (5 / 9)); } + + // `hottestDays` function that: // - Accepts "temperatures" parameter of type "number[]" // - Accepts "threshold" parameter of type "number" @@ -32,16 +36,22 @@ function toCelsius(temperatures: number[]): number[] { // 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 + return temperatures.filter(temp => temp > threshold); } + + // `logHottestDays` function that: // - Accepts "temperatures" parameter of type "number[]", representing temperature values in Fahrenheit. // - 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... + const hotter = hottestDays(temperatures, threshold); + const inCelsius = toCelsius(hotter); + logger(inCelsius); } + + export { logger, toCelsius, hottestDays, logHottestDays }; diff --git a/src/filtering.ts b/src/filtering.ts index 49411d8..b6c0050 100644 --- a/src/filtering.ts +++ b/src/filtering.ts @@ -11,10 +11,9 @@ const numbers = [10, 13, 20, 25, 38, 35, 40]; // greaterThanTwentyFive(numbers); // => [38, 35, 40] function greaterThanTwentyFive(numbers: number[]): number[] { // write your code here... + return numbers.filter((grade: number) => grade >= 25) - return []; // replace empty array with what you see is fit } - // `divisibleByFive` function that: // - Accepts "numbers" parameter of type "number[]". // - Return a new array containing numbers that are divisible by 5. @@ -22,8 +21,18 @@ function greaterThanTwentyFive(numbers: number[]): number[] { // divisibleByFive(numbers); // => [10, 20, 25, 35, 40] function divisibleByFive(numbers: number[]): number[] { // write your code here... - - return []; // replace empty array with what you see is fit + return numbers.filter (num => num % 5 ===0 ); } export { greaterThanTwentyFive, divisibleByFive }; + + + + + + + + + + + diff --git a/src/mapping.ts b/src/mapping.ts index 6f18eef..0cd459a 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -11,10 +11,11 @@ const numbers = [10, 13, 20, 25, 38, 35, 40]; // squaredNumbers(numbers); // => [100, 169, 400, 625, 1444, 1225, 1600] function squaredNumbers(numbers: number[]): number[] { // write your code here... - - return []; // replace empty array with what you see is fit + return numbers.map(num => num * num); } + + // `doubledNumbers` function that: // - Accepts "numbers" parameter of type "number[]". // - Return a new array that contains each number multiplied by 2. @@ -22,8 +23,9 @@ function squaredNumbers(numbers: number[]): number[] { // doubledNumbers(numbers); // => [20, 26, 40, 50, 76, 70, 80] function doubledNumbers(numbers: number[]): number[] { // write your code here... - - return []; // replace empty array with what you see is fit + return numbers.map(num => num * 2); } + + export { squaredNumbers, doubledNumbers }; diff --git a/src/mapping_filtering.ts b/src/mapping_filtering.ts index 269ad83..d790f7b 100644 --- a/src/mapping_filtering.ts +++ b/src/mapping_filtering.ts @@ -12,9 +12,13 @@ const numbers = [10, 13, 20, 25, 38, 35, 40]; function filteredAndSquared(numbers: number[]): number[] { // write your code here... - return []; // replace empty array with what you see is fit + return numbers + .filter(num => num >= 20) + .map(num => num * num); } + + // `filteredAndTripled` function that: // - Accepts "numbers" parameter of type "number[]". // - Return an array of numbers, where each number is tripled if it is divisible by 5. @@ -22,8 +26,11 @@ function filteredAndSquared(numbers: number[]): number[] { // filteredAndTripled(numbers); // => [30, 60, 75, 105, 120] function filteredAndTripled(numbers: number[]): number[] { // write your code here... - - return []; // replace empty array with what you see is fit + return numbers + .filter(num => num % 5 === 0) + .map(num => num * 3); } + + export { filteredAndSquared, filteredAndTripled };