📅  最后修改于: 2023-12-03 15:05:43.218000             🧑  作者: Mango
Underscore.js是一款JavaScript工具库,它提供了许多有用的函数,其中之一是_.countBy函数。该函数可以用于计算给定数组或对象中每个值出现的次数,并返回一个以值为键,以次数为值的对象。
_.countBy(list, iteratee)
参数说明:
var numbers = [1, 2, 3, 2, 4, 1, 5, 6, 3, 2];
var counts = _.countBy(numbers);
console.log(counts);
输出结果为:
{ '1': 2, '2': 3, '3': 2, '4': 1, '5': 1, '6': 1 }
在上面的示例中,传递给_.countBy函数的参数是一个数组。该函数返回了一个以数组元素为键,以元素出现次数为值的对象。在此示例中,数字1出现了2次,数字2出现了3次,数字3出现了2次,数字4、数字5、数字6各出现了1次。
让我们看看另一个示例:
var words = ['apple', 'banana', 'cherry', 'banana', 'cherry', 'apple', 'banana'];
var counts = _.countBy(words, function(word) {
return word.length;
});
console.log(counts);
输出结果为:
{ '5': 2, '6': 3, '7': 2 }
在此示例中,我们将一个字符串数组传递给_.countBy函数,并传递了一个转换函数。该函数将字符串转换为其长度,并返回函数的输出作为键。该函数返回一个以数字长度为键,以出现次数为值的对象。在此示例中,长度为5的字符串出现了2次,长度为6的字符串出现了3次,长度为7的字符串出现了2次。
Underscore.js提供的_.countBy函数可以帮助我们计算数组或对象中元素的出现次数。使用该函数,我们可以快速生成以元素为键,以出现次数为值的对象,这可以帮助我们分析数据并做出决策。