How to get the number of occurrences of each letter in specified string in JavaScript ? - GeeksforGeeks

28 Sep, 2021

Given a string, our task is finding the occurrence of a character in the string with the help of user-defined function.
Example:
Input : "hello"
Output : h occur 1 times
         e occur 1 times
         l occur 2 times
         o occur 1 times
Explanation : here "hello" have 1 h, so it have 1 value.
               as same e have 1, l have 2 , o have 1.
Example 2:
Input : "did"
Output: d occur 2 times 
        i occur 1 times
Approach 1: In this approach we use a map data structure to store the number of times characters occur.
First we initialize map with key each character of string and value for each is 0.
We iterate over string and increment value of the character.
Finally, print key-values of the map.
Example: 
Javascript
 

 
 










<script>
 
//function to print occurrence of character
function printans( ans )
{
  for( let [ key ,value] of ans)
  {
    // if()
    console.log(`${key}  occurs  ${value} times` );
       
  }
 
}
 
// function count occurrence of character
function count( str , outp_map )
{
  for( let i = 0 ;i < str.length ;i++)
  { 
 
    let k = outp_map.get(str[i]);
    outp_map.set(str[i], k+1) ;
         
     
  }
  //calling  print function
  printans(outp_map);
}
 
//function create map to count character
function count_occurs( test , callback )
{
  //checking string is valid or not 
  if( test.length === 0 )
  {
    console.log(" empty string ");
    return ;
  }
  else
  { 
    // map for storing count values
    let ans = new Map();
    for( let i = 0 ;i < test.length;i++)
    {
      ans.set(test[i], 0);
    }
     
    callback( test ,ans);
     
  }
 
}
 
// test string 
let test =  "helloworld";
count_occurs( test ,count);
 
</script>






 Output:
h  occurs  1 times
e  occurs  1 times
l  occurs  3 times
o  occurs  2 times
w  occurs  1 times
r  occurs  1 times
d  occurs  1 times
Approach 2: In this approach, we use nested for loop to iterate over string and count for each character in the string. 
First initialize count with value 0 for ith value of string.
Now we iterate over string if ith value matches with the character, increase the count value by 1.
Finally, print the value of count.
Example: 
Javascript
 

 
 










<script>
 
// function that count character occurrences in string 
function count_occur( str )
{
  // checking string is valid or not 
  if( str.length == 0 )
  {
    console.log("Invalid string")
    return;
  }
  //cor loop to iterate over string
  for( let i = 0 ;i < str.length ;i++)
  { 
    //variable counting occurrence 
    let count = 0;
    for( let j = 0 ;j < str.length ;j++)
    {
      if( str[i] == str[j] && i > j  )
      {
       break;
      }
      if( str[i] == str[j]  )
      {
        count++;
      }
    }
    if( count > 0)
    console.log(`${str[i]} occurs ${count} times`);
     
  }
 
}
 
// test string
let test_str = "gfghello";
count_occur( test_str);
</script>






 Output:
g occurs 2 times
f occurs 1 times
h occurs 1 times
e occurs 1 times
l occurs 2 times
o occurs 1 times
simmytarika5
sagartomar9927
anikakapoor
surindertarika1234

JavaScript-Questions


javascript-string


Picked


JavaScript


Web Technologies

Writing code in comment? 
                                    Please use ide.geeksforgeeks.org, 
                                    generate link and share the link here.
                                
Convert a string to an integer in JavaScript
How to calculate the number of days between two dates in javascript?
Difference between var, let and const keywords in JavaScript
Differences between Functional Components and Class Components in React
File uploading in React.js
Roadmap to Become a Web Developer in 2022
Installation of Node.js on Linux
Top 10 Projects For Beginners To Practice HTML and CSS Skills
How to fetch data from an API in ReactJS ?
How to insert spaces/tabs in text using HTML/CSS?