เราจำเป็นต้องเขียนฟังก์ชัน 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