ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้สตริงตัวอักษรภาษาอังกฤษ ฟังก์ชั่นของเราควรผลักทุกตัวอักษรไปข้างหน้า 10 ตำแหน่ง และถ้ามันผ่าน 'z' เราก็ควรจะเริ่มต้นใหม่อีกครั้งที่ 'a'
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const str = 'sample string'; const moveStrBy = (num = 10) => { return str => { const calcStr = (ch, code) => String .fromCharCode(code + (ch.charCodeAt(0) - code + num) % 26); const ACode = 'A'.charCodeAt(0); const aCode = 'a'.charCodeAt(0); return str.replace(/[a-z]/gi, ch => ( ch.toLowerCase() == ch ? calcStr(ch, aCode) : calcStr(ch, ACode) )); }; }; const moveByTen = moveStrBy(); console.log(moveByTen(str));
ผลลัพธ์
ckwzvo cdbsxq