ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้สตริง str ซึ่งประกอบด้วยตัวอักษรและอักขระพิเศษบางตัว
ฟังก์ชันของเราควรส่งคืนสตริงใหม่โดยยึดตามสตริงอินพุตที่อักขระทั้งหมดที่ไม่ใช่ตัวอักษรอยู่ในตำแหน่งเดียวกัน และตัวอักษรทั้งหมดกลับตำแหน่ง
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
const str = 'k_lmn_opq';
ผลผลิต
const output = 'q_pon_mlk';
ตัวอย่าง
const str = 'k_lmn_opq'; const reverseAlphabets = (str) => { const arr = str.split('') let left = 0 let right = arr.length - 1 const swap = (a, b) => { const temp = arr[a] arr[a] = arr[b] arr[b] = temp } const isLetter = (x = '') => /[a-zA-Z]/.test(x) while (left <= right) { while (!isLetter(arr[left])) { left += 1 if (left > right) { break } } while (!isLetter(arr[right])) { right -= 1 if (left > right) { break } } if (left > right) { break } swap(left, right) left += 1 right -= 1 } return arr.join('') }; console.log(reverseAlphabets(str));
ผลลัพธ์
q_pon_mlk