Generic groupBy using lodash

HTML

<script src="https://cdn.jsdelivr.net/lodash/4.5.0/lodash.min.js"></script>

JavaScript

var data = [{
    "name": "jim",
        "color": "blue",
        "age": "22"
}, {
    "name": "Sam",
        "color": "blue",
        "age": "33"
}, {
    "name": "eddie",
        "color": "green",
        "age": "77"
}];

function groupBy(dataToGroupOn, fieldNameToGroupOn, fieldNameForGroupName, fieldNameForChildren) {
  var result = _.chain(dataToGroupOn)
  .groupBy(fieldNameToGroupOn)
  .toPairs()
  .map(function (currentItem) {
    return _.zipObject([fieldNameForGroupName, fieldNameForChildren], currentItem);
  })
  .value();
  return result;
}

var result = groupBy(data, 'color', 'colorId', 'users');

console.log(result);