📜  Underscore.js _.countBy函数(1)

📅  最后修改于: 2023-12-03 15:05:43.218000             🧑  作者: Mango

Underscore.js _.countBy函数

Underscore.js是一款JavaScript工具库,它提供了许多有用的函数,其中之一是_.countBy函数。该函数可以用于计算给定数组或对象中每个值出现的次数,并返回一个以值为键,以次数为值的对象。

语法

_.countBy(list, iteratee)

参数说明:

  • 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函数可以帮助我们计算数组或对象中元素的出现次数。使用该函数,我们可以快速生成以元素为键,以出现次数为值的对象,这可以帮助我们分析数据并做出决策。