ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเป็นอาร์กิวเมนต์แรก และตัวอักษรเดี่ยวเป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันควรนับและคืนค่าจำนวนครั้งติดต่อกันมากที่สุดของตัวอักษรนั้นในสตริง
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const str = 'abcdaaadse';
const char = 'a';
const countChars = (str = '', char = '') => {
const arr = str.split('');
let c = 0, max = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === char) {
c += 1;
if (c > max) {
max = c;
}
} else {
if (c > max) {
max = c;
}
c = 0;
}
}
return max;
};
console.log(countChars(str, char));
ผลลัพธ์
3
คำอธิบายเพิ่มเติม
จาก 'abcdaaadse' ตัว 'a' ติดกันมากสุดคือ 'aaa' (ตำแหน่ง 5-7) ยาว 3 โค้ดนับ consecutive streak แบบคลาสสิก ใช้ตัวแปร current และ max