ฟังก์ชันนี้สร้างสตริงสุ่มความยาว n ประกอบด้วยตัวอักษรภาษาอังกฤษพิมพ์เล็ก 26 ตัว
ตัวอย่างโค้ด
const num = 8;
const randomNameGenerator = num => {
let res = '';
for (let i = 0; i < num; i++) {
// สุ่ม 0-26 แล้วบวก 97 (ASCII 'a')
const random = Math.floor(Math.random() * 27);
res += String.fromCharCode(97 + random);
}
return res;
};
console.log(randomNameGenerator(num));
ข้อผิดพลาดในโค้ดต้นฉบับ
Math.random() * 27 ให้ค่า 0-26.999... → Math.floor ให้ 0-26 (27 ค่า) แต่ตัวอักษร a-z มีแค่ 26 ตัว (97-122)
โค้ดที่ถูกต้อง
const randomNameGenerator = num => {
let res = '';
for (let i = 0; i < num; i++) {
const random = Math.floor(Math.random() * 26); // 0-25
res += String.fromCharCode(97 + random);
}
return res;
};
ผลลัพธ์ตัวอย่าง
kdcwping
หมายเหตุ: ผลลัพธ์จะต่างกันทุกครั้งที่รัน