Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript sử dụng một chuỗi, str, bao gồm các bảng chữ cái và một số ký tự đặc biệt.
Hàm của chúng ta sẽ trả về một chuỗi mới dựa trên chuỗi đầu vào trong đó tất cả các ký tự không phải là bảng chữ cái ở cùng một vị trí và tất cả các chữ cái đảo ngược vị trí của chúng.
Ví dụ:nếu đầu vào của hàm là
Đầu vào
const str = 'k_lmn_opq';
Đầu ra
const output = 'q_pon_mlk';
Ví dụ
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));
Đầu ra
q_pon_mlk