Skip to content

Commit 4930215

Browse files
authored
Add sleep debt calculator functionality
Implement sleep debt calculator with functions to get sleep hours, actual sleep, ideal sleep, and calculate sleep debt.
1 parent ff074d1 commit 4930215

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

Codecademy/sleepDebtCalculator.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
let getSleepHours = (day) => {
2+
switch (day) {
3+
case "Monday":
4+
return 4.9;
5+
break;
6+
case "Tuesday":
7+
return 4.35;
8+
break;
9+
case "Wednesday":
10+
return 4.27;
11+
break;
12+
case "Thursday":
13+
return 5.2;
14+
break;
15+
case "Friday":
16+
return 4.76;
17+
break;
18+
case "Saturday":
19+
return 3.5;
20+
break;
21+
case "Sunday":
22+
return 6.5;
23+
break;
24+
}
25+
};
26+
27+
let getActualSleepHours = () =>
28+
getSleepHours("Monday") +
29+
getSleepHours("Tuesday") +
30+
getSleepHours("Wednesday") +
31+
getSleepHours("Thursday") +
32+
getSleepHours("Friday") +
33+
getSleepHours("Saturday") +
34+
getSleepHours("Sunday");
35+
36+
let getIdealSleepHours = () => {
37+
let idealHours;
38+
idealHours = 5;
39+
return idealHours * 7;
40+
};
41+
42+
console.log(getActualSleepHours());
43+
console.log(getIdealSleepHours());
44+
45+
let calculateSleepDebt = () => {
46+
let actualSleepHours = getActualSleepHours();
47+
let idealSleepHours = getIdealSleepHours();
48+
console.log(actualSleepHours);
49+
console.log(idealSleepHours);
50+
if (actualSleepHours === idealSleepHours) {
51+
return "User got the perfect amount of sleep";
52+
} else if (actualSleepHours > idealSleepHours) {
53+
return (
54+
'User got more sleep than needed, has an excess of ' +
55+
(actualSleepHours -
56+
idealSleepHours)
57+
);
58+
} else if (actualSleepHours < idealSleepHours) {
59+
return (
60+
'User should get some rest and is short by ' +
61+
(idealSleepHours -
62+
actualSleepHours)
63+
);
64+
} else {
65+
return 'Nothing';
66+
}
67+
};
68+
69+
console.log(calculateSleepDebt());

0 commit comments

Comments
 (0)