根据给定函数对数组的元素进行分组,并返回每组中元素的计数。
用Array.prototype.map()将数组的值映射到函数或属性名称。
用Array.prototype.reduce()创建一个对象,其中键是从映射结果中生成的。
Javascript:
const countBy = (arr, fn) =>
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
更多内容请访问我的网站:https://www.icoderoad.com