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

문자열에서 모든 n번째 문자 바꾸기 - JavaScript

<시간/>

문자열을 첫 번째 인수로, 숫자(예:n)를 두 번째 인수로, 문자(예:c)를 세 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다. 이 함수는 모든 문자의 n번째 모양을 세 번째 인수로 제공된 문자로 바꾸고 새 문자열을 반환해야 합니다.

예시

다음은 코드입니다 -

const str = 'This is a sample string';
const num = 2;
const char = '*';
const replaceNthAppearance = (str, num, char) => {
   const creds = str.split('').reduce((acc, val, ind, arr) => {
      let { res, map } = acc;
      if(!map.has(val)){
         map.set(val, 1);
         if(num === 0){
            res += char;
         }else{
            res += val;
         }
      }else{
         const freq = map.get(val);
         if(num - freq === 1){
            res += char;
         }else{
            res += val;
      };
      map.set(val, freq+1);
   };
   return { res, map };
   }, {
      res: '',
      map: new Map()
   });
   return creds.res;
}
console.log(replaceNthAppearance(str, num, char));

출력

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

This ***a s*mple string