JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>

CSS

body {
    font-family: monospace;
    white-space: pre-wrap;
}

JavaScript

_.groupByMulti = function (obj, values, context) {
    if (!values.length)
        return obj;
    var byFirst = _.groupBy(obj, values[0], context),
        rest = values.slice(1);
    for (var prop in byFirst) {
        byFirst[prop] = _.groupByMulti(byFirst[prop], rest, context);
    }
    return byFirst;
};

document.write(JSON.stringify(
    _.groupByMulti(getProperties(), ['City', 'category'])
, null, 4));

function getProperties() {
    var inputArray=[
		{empId:1,empName:"Sanjana",Dept:"IT",City:"Hyderabad",EmailId:"[email protected]"},
		{empId:2,empName:"Sandeep",Dept:"IT",City:"Calcutta",EmailId:"[email protected]"},
		{empId:3,empName:"Raghu",Dept:"IT",City:"Delhi",EmailId:"[email protected]"},
		{empId:4,empName:"Sanjana",Dept:"IT",City:"Calcutta",EmailId:"[email protected]"},
		{empId:5,empName:"Ranjan",Dept:"IT",City:"Calcutta",EmailId:"[email protected]"},
		{empId:6,empName:"Soumya",Dept:"IT",City:"Pune",EmailId:"[email protected]"},
		{empId:7,empName:"Sanjana",Dept:"IT",City:"Hyderabad",EmailId:"[email protected]"},
		{empId:8,empName:"Savithri",Dept:"IT",City:"Hyderabad",EmailId:"[email protected]"},
		{empId:9,empName:"Nilesh",Dept:"IT",City:"Pune",EmailId:"[email protected]"},
		{empId:10,empName:"Sanjana",Dept:"IT",City:"Hyderabad",EmailId:"[email protected]"},
		{empId:11,empName:"Jitendra",Dept:"IT",City:"Pune",EmailId:"[email protected]"},
		{empId:12,empName:"Sankeertana",Dept:"IT",City:"Hyderabad",EmailId:"[email protected]"}

	]
}