
根據(jù)給定函數(shù)對數(shù)組的元素進(jìn)行分組,并返回每組中元素的計數(shù)。
用Array.prototype.map()將數(shù)組的值映射到函數(shù)或?qū)傩悦Q。
用Array.prototype.reduce()創(chuàng)建一個對象,其中鍵是從映射結(jié)果中生成的。
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;
? }, {});
更多內(nèi)容請訪問我的網(wǎng)站:https://www.icoderoad.com