Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Hàm chỉ thay thế ký tự trong chuỗi sau số lần xuất hiện xác định trong JavaScript

Hàm chỉ thay thế ký tự trong chuỗi sau số lần xuất hiện xác định trong JavaScript

Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi làm đối số đầu tiên, một số, ví dụ n, làm đối số thứ hai và một ký tự, ví dụ c, làm đối số thứ ba. Hàm nên 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 hàm này:

Ví dụ

Mã thực hiện như sau:

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

Kết quả trong console sẽ là:

This ***a s*mple string