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