Skip to content
Open
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
43 changes: 35 additions & 8 deletions src/challenge.ts
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -8,8 +21,19 @@
// logger<number>([1, 2, 3]);
// logger<number | string>([1, 2, 3, "one", "two", "three"]);
function logger<T>(array: T[]): void {
// write your code here...
array.forEach((item) => console.log(item));
}
// let number = numbers.map((value) => {
// console.log(value);

logger([]);
// function loggers<T>(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.
Expand All @@ -18,9 +42,9 @@ function logger<T>(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:
Expand All @@ -31,17 +55,20 @@ 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:
// - 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...
// write your code here...
const hotOnly = hottestDays(temperatures, threshold);
const converted = toCelsius(hotOnly);
logger(converted);
}

export { logger, toCelsius, hottestDays, logHottestDays };
10 changes: 6 additions & 4 deletions src/filtering.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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 };
14 changes: 10 additions & 4 deletions src/mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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 };
18 changes: 14 additions & 4 deletions src/mapping_filtering.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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 };