Skip to content
Open

done #22

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions src/challenge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@
// logger<number>([1, 2, 3]);
// logger<number | string>([1, 2, 3, "one", "two", "three"]);
function logger<T>(array: T[]): void {
// write your code here...
// write your code here...function logger<T>(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.
Expand All @@ -19,10 +22,11 @@ function logger<T>(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"
Expand All @@ -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 };
17 changes: 13 additions & 4 deletions src/filtering.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,28 @@ 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.
// example:
// 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 };











10 changes: 6 additions & 4 deletions src/mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,21 @@ 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.
// example:
// 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 };
13 changes: 10 additions & 3 deletions src/mapping_filtering.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,25 @@ 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.
// example:
// 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 };