เราต้องเขียนฟังก์ชันรับตัวเลขระหว่าง 1 ถึง 26 (รวม) คืนตัวอักษรอังกฤษที่ตรงกัน (พิมพ์ใหญ่) ถ้าตัวเลขอยู่นอกช่วง คืน -1
เช่น
toAlpha(3) = C toAlpha(18) = R
และไปเรื่อยๆ
รหัส ASCII
รหัส ASCII เป็นการแทนตัวเลขมาตรฐานของตัวอักษรและตัวเลขบนคีย์บอร์ด ตัวอักษรอังกฤษพิมพ์ใหญ่มากำหนดใน ASCII เริ่มจาก 65 ถึง 90 โดย 65 คือ 'A', 66 คือ 'B' ตามลำดับ เราสามารถใช้รหัสเหล่านี้แมปตัวอักษรได้
โค้ดเต็ม
ตัวอย่าง
const toAlpha = (num) => {
if(num < 1 || num > 26 || typeof num !== 'number'){
return -1;
}
const leveller = 64;
// เนื่องจาก A จริงๆ คือ 65 และเราต้องการให้ 1 แทน A
return String.fromCharCode(num + leveller);
};
console.log(toAlpha(18));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น
R