Viết hàm nhận vào chuỗi, thay mỗi chữ cái bằng chữ cái kế tiếp trong bảng chữ cái (z→a, Z→A). Giữ nguyên ký tự không phải chữ cái.
Ví dụ
Đầu vào: 'how are you'
Đầu ra: 'ipx bsf zpv'
Giải pháp
Mã triển khai:
const str = 'how are you';
const isAlpha = code => (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
const isLast = code => code === 90 || code === 122;
const nextLetterString = str => {
return str.split('').reduce((acc, val) => {
const code = val.charCodeAt(0);
if (!isAlpha(code)) return acc + val;
if (isLast(code)) return acc + String.fromCharCode(code - 25); // z→a, Z→A
return acc + String.fromCharCode(code + 1);
}, '');
};
console.log(nextLetterString(str));
Kết quả
Đầu ra trong console:
ipx bsf zpv