I'm attaching the code below, for the line in the end logTime(name2, day2); I'm getting the same name for for the first scope. For logEvent I'm getting desired result which is warren, but for logTime I'm getting Nala instead of warren. Thank you in advanced
// The scope of `random` is too loose
const random = Math.floor(Math.random() * 3);
const getRandEvent = () => {
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;
};
const name = 'Nala';
// The scope of `name` is too tight
const logEvent = (name, event) => {
console.log(`${name}'s event is: ${event}`);
};
const logTime = (names, 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);
const event2 = getRandEvent();
const days2 = getTrainingDays(event2);
const name2 = 'Warren';
logEvent(name2, event2);
logTime(name2, days2);
change the name in the log to names
or
change the variable names in the method argument to name
const logTime = (name, days) => {
console.log(`${name}'s time to train is: ${days} days`);
};
or
const logTime = (names, days) => {
console.log(`${names}'s time to train is: ${days} days`);
};