我们可以先对一个列表按照自己设置的标准分一下组,然后得到每个小组里的项目的数量 ... 这就是 countBy 方法的功能。它有点像是前面介绍过的 groupBy ... 不同的是 ... groupBy 返回的是分组以后的项目 ... countBy 返回的是分组之后的项目的数量。
(#albums)
我们可以看一下 albums 这个列表 .. 比如我们想要得到在这个列表里面,artist 这个属性的值是 Beyond 的项目一共有多少个 .. 值是 Coldplay 的项目一共有多少 ...
countBy ... 要分组统计的是 albums ... 再给它一个迭代器 ... 在它里面要返回要分组的属性 ...
_.countBy(albums, function(album){ return album.artist; })
回车 ... 返回的结果是一个对象 ... 这个对象里有两个属性 .. 表示按照 artist 属性的值,把列表分成了两个组 ... 其中值是 Beyond 的项目一共有两个 ... artist 的值是 Colplay 的项目一共有一个。