define(['./_group', './_has'], function (_group, _has) { // Counts instances of an object that group by a certain criterion. Pass // either a string attribute to count by, or a function that returns the // criterion. var countBy = _group(function(result, value, key) { if (_has(result, key)) result[key]++; else result[key] = 1; }); return countBy; });