JS - Lodash工具库的使用详解10(Array数组函数7:根据指定规则进行分组、统计)

作者: hgweb 发布时间: 2019-10-14 浏览: 2622 次 编辑

十、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);

原文:JS - Lodash工具库的使用详解10(Array数组函数7:根据指定规则进行分组、统计)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