Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การแปลงตัวเลขเป็นตัวอักษรใน JavaScript

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงความยาวเท่าไรก็ได้ซึ่งแทนตัวเลข ฟังก์ชันควรแปลงสตริงตัวเลขเป็นสตริงตัวอักษรที่สอดคล้องกัน

ตัวอย่าง: ถ้าสตริงตัวเลขคือ:

const str = '78956';

ผลลัพธ์ควรเป็น:

const output = 'ghief';

ถ้าสตริงตัวเลขคือ:

const str = '12345';

สตริงผลลัพธ์ควรเป็น:

const output = 'lcde';

สังเกตว่าเราไม่ได้แปลง 1 และ 2 แยกกัน เพราะ 12 ก็แทนตัวอักษรได้เช่นกัน จึงต้องพิจารณากรณีนี้ในฟังก์ชัน

เราสมมติว่าสตริงตัวเลขจะไม่มี 0 ถ้ามี 0 จะ map เป็นตัวมันเอง

ตัวอย่างโค้ด

const str = '12345';
const str2 = '78956';
const convertToAlpha = numStr => {
  const legend = '0abcdefghijklmnopqrstuvwxyz';
  let alpha = '';
  for(let i = 0; i < numStr.length; i++){
    const el = numStr[i], next = numStr[i + 1];
    if(+(el + next) <= 26){
      alpha += legend[+(el + next)];
      i++;
    }
    else{
      alpha += legend[+el];
    };
  };
  return alpha;
};
console.log(convertToAlpha(str));
console.log(convertToAlpha(str2));

ผลลัพธ์

ผลลัพธ์ที่แสดงในคอนโซลจะเป็นดังนี้:

lcde ghief