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
 */