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