Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การแทนที่ทุก ๆ อินสแตนซ์ของอักขระในสตริง - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเป็นอาร์กิวเมนต์แรก ตัวเลข พูดว่า n เป็นอาร์กิวเมนต์ที่สองและอักขระ พูดว่า c เป็นอาร์กิวเมนต์ที่สาม ฟังก์ชันควรแทนที่ลักษณะที่ 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