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