-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
52 lines (42 loc) · 1.12 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// The scope of `random` is too loose
const getRandEvent = () => {
const random = Math.floor(Math.random() * 3);
if (random === 0) {
return "Marathon";
} else if (random === 1) {
return "Triathlon";
} else if (random === 2) {
return "Pentathlon";
}
};
// The scope of `days` is too tight
const getTrainingDays = (event) => {
let days;
if (event === "Marathon") {
days = 50;
} else if (event === "Triathlon") {
days = 100;
} else if (event === "Pentathlon") {
days = 200;
}
return days;
};
// The scope of `name` is too tight
const name = "Nala";
const logEvent = (name, event) => {
console.log(`${name}'s event is: ${event}`);
};
const logTime = (name, days) => {
console.log(`${name}'s time to train is: ${days} days`);
};
const event = getRandEvent();
const days = getTrainingDays(event);
// Define a `name` variable. Use it as an argument after updating logEvent and logTime
logEvent(name, event);
logTime(name, days);
// Add another competitor
const event2 = getRandEvent();
const days2 = getTrainingDays(event2);
const name2 = "Warren";
logEvent(name2, event2);
logTime(name2, days2);