Computer >> Máy Tính >  >> Lập trình >> Javascript

Hàm chỉ thay thế ký tự từ chuỗi sau khi xuất hiện được chỉ định trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một chuỗi làm đối số đầu tiên, một số, chẳng hạn như n, làm đối số thứ hai và một ký tự, chẳng hạn như c, làm đối số thứ ba. Hàm sẽ thay thế lần xuất hiện thứ n của bất kỳ ký tự nào bằng ký tự được cung cấp làm đối số thứ ba và trả về chuỗi mới.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

This ***a s*mple string