I have developed a function that generates an array showing the frequency of each letter in the alphabet (a-z) within a given string, including 0 occurrences. The array consists of 26 numbers representing each letter of the alphabet. Here is the function I have created so far. While it functions correctly, I believe there may be a more streamlined approach to improve this solution.
export function generateMap(text){
const text_arr = text.toLowerCase().split('');
const valid_char = 'abcdefghijklmnopqrstuvwxyz'.split('')
const map = {'a': 0, 'b': 0, 'c': 0, 'd': 0, 'e': 0, 'f': 0, 'g': 0, 'h': 0, 'i': 0, 'j': 0, 'k': 0, 'l': 0, 'm': 0, 'n': 0, 'o': 0, 'p': 0, 'q': 0, 'r': 0, 's': 0, 't': 0, 'u': 0, 'v': 0, 'w': 0, 'x': 0, 'y': 0, 'z': 0}
text_arr.forEach(char => {
if(valid_char.indexOf(char) > -1) map[char]++
})
return Object.values(map)
}