JSFiddle - React, Tailwind, and code Playground

by Charlie Winfrey

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

var monthName = (function () {
    var months = [
        'January',
        'February',
        'March',
        'April',
        'May',
        'June',
        'July',
        'August',
        'September',
        'October',
        'November',
        'December'];

    return function (i) {
        return months[i - 1];
    };
}());

console.log("What month do you want?");
var response = prompt("Type it in");
console.log(monthName(response));

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