如何使用Lodash统计嵌套数组中各值的出现次数
正确实现代码
你可以组合使用_.flatMap()和_.countBy()实现需求:
const result = _.countBy(_.flatMap(users, 'hobbies')); console.log(result); // 输出:{ 'soccer':2, 'basketball':1, 'golf':2 }
逻辑说明
- 第一步调用
_.flatMap(users, 'hobbies'):遍历所有用户,提取每个用户的hobbies数组,再把所有数组合并拍平为一维数组,得到的结果为['soccer','basketball','soccer','golf','golf'] - 第二步对拍平后的爱好数组调用
_.countBy(),会自动统计每个独立爱好的出现次数,和你预期的输出完全一致。
内容的提问来源于stack exchange,提问作者Arjun
相关产品推荐
相关产品推荐

