Computer >> Computer tutorials >  >> Programming >> Javascript

Constructing array from string unique characters in JavaScript


We are required to write a JavaScript function that takes in a string and starts mapping its characters from 0.

And every time, the function encounters a unique (non-duplicate) character it should increase the mapping count by 1 otherwise it should map the same number for duplicate characters.

For example: If the string is −

const str = 'heeeyyyy';

Then the output should be −

const output = [0, 1, 1, 1, 2, 2, 2, 2];

Therefore, let’s write the code for this function −

Example

The code for this will be −

const str = 'heeeyyyy';
const mapString = str => {
   const res = [];
   let curr = '', count = -1;
   for(let i = 0; i < str.length; i++){
      if(str[i] === curr){
         res.push(count);
      }else{
         count++;
         res.push(count);
         curr = str[i];
      };
   };
   return res;
};
console.log(mapString(str));

Output

The output in the console will be −

[
   0, 1, 1, 1,
   2, 2, 2, 2
]