ฟังก์ชันนี้กลับลำดับตัวอักษรในคำที่ขึ้นต้นด้วยตัวอักษรที่ระบุ (case-sensitive)
ตัวอย่าง
// Input: 'hello world, how are you', char: 'h' // Output: 'olleh world, woh are you' // คำที่ขึ้นต้นด้วย 'h': hello → olleh, how → woh
ตัวอย่างโค้ด
const str = 'hello world, how are you';
const reverseStartingWith = (str, char) => {
return str.split(' ')
.reduce((acc, val) => {
if (val[0] !== char) {
acc.push(val);
return acc;
}
// กลับลำดับคำที่ขึ้นต้นด้วย char
acc.push(val.split('').reverse().join(''));
return acc;
}, [])
.join(' ');
};
console.log(reverseStartingWith(str, 'h'));
จุดสำคัญ
- การเปรียบเทียบ
val[0] !== charเป็น case-sensitive - ใช้
reduce()สร้างอาร์เรย์ผลลัพธ์ - คำที่ไม่ตรงเงื่อนไขจะคงเดิม
ผลลัพธ์
olleh world, woh are you
ปรับปรุงได้: เพิ่มพารามิเตอร์ caseSensitive หรือใช้ toLowerCase() เพื่อรองรับทั้งพิมพ์ใหญ่/เล็ก