十、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 }
JS Lodash工具库的使用详解系列:
JS - Lodash工具库的使用详解1(使用debounce函数实现防抖)
JS - Lodash工具库的使用详解2(使用throttle函数实现节流)
JS - Lodash工具库的使用详解3(String字符串操作函数)
JS - Lodash工具库的使用详解4(Array数组函数1:查找指定元素、或索引)
JS - Lodash工具库的使用详解5(Array数组函数2:获取部分数组片段)
JS - Lodash工具库的使用详解6(Array数组函数3:移除、修改原数组内容)
JS - Lodash工具库的使用详解7(Array数组函数4:数组排序、打乱)
JS - Lodash工具库的使用详解8(Array数组函数5:数组与对象间的转换)
JS - Lodash工具库的使用详解9(Array数组函数6:如果不是数组强制转成数组)
JS - Lodash工具库的使用详解10(Array数组函数7:根据指定规则进行分组、统计)
JS - Lodash工具库的使用详解11(Array数组函数8:创建指定范围数字的数组)
JS - Lodash工具库的使用详解12(创建一个只能调用1次、n次的函数)
JS - Lodash工具库的使用详解13(创建一个对某函数结果取反的函数)
JS - Lodash工具库的使用详解14(浅拷贝,深拷贝)
JS - Lodash工具库的使用详解15(深比较,判断是否包含某属性或属性值)
JS - Lodash工具库的使用详解16(判断是否为空)
JS - Lodash工具库的使用详解17(类型检查)
JS - Lodash工具库的使用详解18(生成随机数)
原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2571.html