📅  最后修改于: 2023-12-03 14:59:59.159000             🧑  作者: Mango
Collect.js 是一个流行的 JavaScript 函数式编程工具库,它提供了许多类似于 Lodash 和 Underscore.js 的实用功能。其中之一是 countBy() 方法,此方法可以让我们根据给定属性计算集合中每个值出现的次数,返回一个关联数组。
countBy(collection, callback)
collection
:一个被迭代的集合或对象。callback
:计算每个元素的回调函数,可以是函数或者属性字符串。下面是一个简单示例:
const { countBy } = require('collect.js');
const pets = ['dog', 'cat', 'dog', 'bird', 'cat'];
const result = countBy(pets);
console.log(result);
输出结果:
{ dog: 2, cat: 2, bird: 1 }
我们也可以使用属性字符串:
const { countBy } = require('collect.js');
const pets = [
{ type: 'dog', name: 'Fido' },
{ type: 'cat', name: 'Fluffy' },
{ type: 'dog', name: 'Rex' },
{ type: 'bird', name: 'Tweety' },
{ type: 'cat', name: 'Mittens' }
];
const result = countBy(pets, 'type');
console.log(result);
输出结果:
{ dog: 2, cat: 2, bird: 1 }
使用 Collect.js 的 countBy() 方法可以很方便地计算集合中每个值出现的次数。它可以使用简单的回调函数或者属性字符串,返回一个关联数组。这是一个强大而方便的工具,任何需要计算集合中每个值出现次数的开发者都可以好好利用。