JSFiddle - React, Tailwind, and code Playground
by Jason Aden
JavaScript
/**
* Month names function
*
* Using a closure, write a function that will
* return the Month name for a given number (1-12).
*
* Hint: Your function will include an array of month names
* Hint: It will return a function
*
*/
for (var i = 0 ; i < 12 ; i++) {
(function (i) {
setTimeout(function () {
console.log(outputMonth(i))
}, i*1000);
}(i))
}
function outputMonth (num) {
var months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];
return months[num];
}
/**
* Bonus:
*
* Set a timer to run your function 12 times, once each second
* It should use the increment of a loop to log the month name
* that maps to the integer value
*
* Example output, one line per second:
* "January"
* "February"
* "March"
* ...
*
* Hint: You'll use setTimeout(function, i*1000);
* Hint: You'll need an additional scope to pass "i" correctly
* in to the timer function
*/