ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงของตัวอักษรอังกฤษพิมพ์ใหญ่ str เป็นอาร์กิวเมนต์เดียว
พิจารณาการแมปปิงต่อไปนี้ระหว่างตัวอักษรอังกฤษและกรีก
A=α (Alpha) B=β (Beta) D=δ (Delta) E=ε (Epsilon) I=ι (Iota) K=κ (Kappa) N=η (Eta) O=θ (Theta) P=ρ (Rho) R=π (Pi) T=τ (Tau) U=μ (Mu) V=υ (Upsilon) W=ω (Omega) X=χ (Chi) Y=γ (Gamma)
สำหรับตัวอักษรทั้งหมดที่มีการแมปปิงกรีก ฟังก์ชันควรสร้างสตริงใหม่ที่ตัวอักษรอังกฤษถูกแทนที่ด้วยตัวอักษรกรีกที่สอดคล้อง และหากไม่มีการแมปปิง ให้คงตัวอักษรอังกฤษไว้
ตัวอย่างเช่น หากอินพุตคือ
อินพุต
const str = 'PLAYING';
เอาต์พุต
const output = 'ρlαγιηg';
ตัวอย่างโค้ด
const str = 'PLAYING';
const convertLang = (str) => {
const map = {
a: 'α', b: 'β', d: 'δ', e: 'ε',
i: 'ι', k: 'κ', n: 'η', o: 'θ',
p: 'ρ', r: 'π', t: 'τ', u: 'μ',
v: 'υ', w: 'ω', x: 'χ', y: 'γ'
};
return str.replace(/./g, char => {
if (map[char.toLowerCase()]) {
return char === char.toUpperCase() ? map[char.toLowerCase()] : map[char];
};
return char.toLowerCase();
});
};
console.log(convertLang(str));
ผลลัพธ์
ρlαγιηg