JS - Lodash工具库的使用详解10(Array数组函数7:根据指定规则进行分组、统计)
十、Array 数组函数7:根据指定规则进行分组、统计
1,groupBy
(1)groupBy 方法可以据指定规则进行分组,该方法会创建一个对象:
- key 是经过迭代函数执行处理数组中的每个元素后返回的结果。
- 分组值的顺序是由他们出现在数组中的顺序确定的。
- 每个键对应的值为负责生成 key 的元素组成的数组
(2)简单的使用样例:
_.groupBy([6.1, 4.2, 6.3], Math.floor); // => { '4': [4.2], '6': [6.1, 6.3] } // The `_.property` iteratee shorthand. _.groupBy(['one', 'two', 'three'], 'length'); // => { '3': ['one', 'two'], '5': ['three'] }
(3)使用自定义的方法进行分组:
//奇数、偶数统计 var result = _.groupBy([4, 5, 6], (val)=>{ return val % 2 == 0 ? "even" : "odd"; }); console.log(result);

2,countBy
(1)countBy 方法可以据指定规则进行分组计数,该方法会创建一个对象:
- key 是经过迭代函数执行处理数组中的每个元素后返回的结果。
- 每个 key(键)对应的值是迭代函数返回该 key(键)的次数(迭代次数)。
(2)下面是一个简单的使用样例:
_.countBy([6.1, 4.2, 6.3], Math.floor); // => { '4': 1, '6': 2 } // The `_.property` iteratee shorthand. _.countBy(['one', 'two', 'three'], 'length'); // => { '3': 2, '5': 1 }