generate-words-freqmap
Version:
Generate frequency map from array of strings.
24 lines (21 loc) • 576 B
text/typescript
import { freqMapWordAsKeyType } from './common/types';
/**
* Every freqMap's word in `wordsToEmphasize` will have their weight multiplied by `emphasizeBy`.
*/
function emphasize(
freqMapWordAsKey: freqMapWordAsKeyType,
wordsToEmphasize: string[],
emphasizeBy: number
): freqMapWordAsKeyType {
return wordsToEmphasize.reduce(
(freqMap, word) =>
freqMap[word] === undefined
? freqMap
: {
...freqMap,
[word]: Math.round(freqMap[word] * emphasizeBy),
},
freqMapWordAsKey
);
}
export default emphasize;