DEV Community

Chinwendu Agbaetuo
Chinwendu Agbaetuo

Posted on

Repeat the Character in a string based on its Alphabetical index

Write a function repeatAlpha that takes a string and displays it
repeating each alphabetical character as many times as its alphabetical index.

Solution

const range = (start, stop, step) => Array.from( { length: Math.ceil((stop - start) / step) }, (_, i) => start + i * step ); const upperAlpha = range("A".charCodeAt(0), "Z".charCodeAt(0) + 1, 1).map((x) => String.fromCharCode(x) ); const lowerAlpha = range("a".charCodeAt(0), "z".charCodeAt(0) + 1, 1).map((x) => String.fromCharCode(x) ); function getAlphaIndex(char) { if (char === char.toUpperCase()) { return upperAlpha.indexOf(char) + 1; } if (char === char.toLowerCase()) { return lowerAlpha.indexOf(char) + 1; } } function repeatAlpha(text) { let occurrence = []; Array.from(text).forEach((char) => { let count = getAlphaIndex(char); let result = Array(count).fill(char).join(""); occurrence.push(result); }); return occurrence.join(""); } console.log(repeatAlpha("Becky")); console.log(repeatAlpha("neNgi")); console.log(repeatAlpha("ChInwendu")); console.log(repeatAlpha("dindustack")); 
Enter fullscreen mode Exit fullscreen mode

Result

BBeeeeeccckkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyy nnnnnnnnnnnnnneeeeeNNNNNNNNNNNNNNgggggggiiiiiiiii CCChhhhhhhhIIIIIIIIInnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwweeeeennnnnnnnnnnnnndddduuuuuuuuuuuuuuuuuuuuu ddddiiiiiiiiinnnnnnnnnnnnnndddduuuuuuuuuuuuuuuuuuuuusssssssssssssssssssttttttttttttttttttttaccckkkkkkkkkkk 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)