Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ย้ายตัวอักษรทุกตัวไปข้างหน้า 10 ตำแหน่งใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน 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