function getASCIIFrequency(str: string) {
const frequencyTable: any[] = new Array(128).fill(0);
for (let i: number = 0; i < str.length; i++) {
frequencyTable[str.charCodeAt(i)]++;
}
return frequencyTable.reduce((accumulator, count, index) => {
if (count > 0) {
accumulator[String.fromCharCode(index)] = count;
}
return accumulator;
}, {});
}
const str: string = "typescript c c++ c# java python php";
const asciiFrequency: any = getASCIIFrequency(str);
console.log(asciiFrequency);
/*
run:
{
" ": 6,
"#": 1,
"+": 2,
"a": 2,
"c": 4,
"e": 1,
"h": 2,
"i": 1,
"j": 1,
"n": 1,
"o": 1,
"p": 5,
"r": 1,
"s": 1,
"t": 3,
"v": 1,
"y": 2
}
*/