JSFiddle - React, Tailwind, and code Playground

by hamix

HTML

<select id="obj">
</select>

JavaScript

var arr= [
      {
        "1": [
          {
            "monthNumber": "1",
            "monthName": "January"
          }
        ],
        "2": [
          {
            "monthNumber": "2",
            "monthName": "February"
          }
        ],
        "3": [
          {
            "monthNumber": "3",
            "monthName": "March"
          }
        ],
        "4": "April",
        "5": [
          {
            "monthNumber": "5",
            "monthName": "May"
          }
        ],
        "6": [
          {
            "monthNumber": "6",
            "monthName": "June"
          }
        ],
        "7": [
          {
            "monthNumber": "7",
            "monthName": "July"
          }
        ],
        "8": [
          {
            "monthNumber": "8",
            "monthName": "August"
          }
        ],
        "9": [
          {
            "monthNumber": "9",
            "monthName": "Septemeber"
          }
        ],
        "10": [
          {
            "monthNumber": "10",
            "monthName": "October"
          }
        ],
        "11": [
          {
            "monthNumber": "11",
            "monthName": "November"
          }
        ],
        "12": [
          {
            "monthNumber": "12",
            "monthName": "December"
          }
        ]
      }
    ];
for (i = 0; i < arr.length; i++) {
    var obj1=arr[i];
    for (var prop in obj1)
    {
        var optgroup=$("<optgroup label="+prop+"></optgroup>");
        var propArr=obj1[prop];
        var options = '';
        for (var j = 0; j < propArr.length; j++) {
            var obj2=propArr[j];
            for (var prop2 in obj2)
            {
                options += '<option value="' + prop2 + '">' + obj2[prop2] + '</option>';                
            }
            optgroup.append(options);
        }
        $("select#obj").append(optgroup);        
    }    
}