Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

문자열의 고유 문자를 배열에 매핑 - JavaScript

<시간/>

문자열을 받아서 0부터 문자 매핑을 시작하는 JavaScript 함수를 작성해야 합니다. 그리고 함수가 고유한(중복되지 않은) 문자를 만날 때마다 매핑 카운트를 1씩 늘려야 합니다. 그렇지 않으면 동일한 숫자를 매핑합니다. 중복 문자.

예를 들어 - 문자열이 -

인 경우
const str = 'heeeyyyy';

그러면 출력은 다음과 같아야 합니다. -

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

예시

다음은 코드입니다 -

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));

출력

다음은 콘솔의 출력입니다 -

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