22 lines
518 B
JavaScript
22 lines
518 B
JavaScript
![]() |
var groupBy = require('./groupBy')
|
||
|
|
||
|
var objectEach = require('../object/objectEach')
|
||
|
|
||
|
/**
|
||
|
* 集合分组统计,返回各组中对象的数量统计
|
||
|
*
|
||
|
* @param {Array} obj 对象
|
||
|
* @param {Function} iterate 回调/对象属性
|
||
|
* @param {Object} context 上下文
|
||
|
* @return {Object}
|
||
|
*/
|
||
|
function countBy (obj, iterate, context) {
|
||
|
var result = groupBy(obj, iterate, context || this)
|
||
|
objectEach(result, function (item, key) {
|
||
|
result[key] = item.length
|
||
|
})
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
module.exports = countBy
|