ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n ฟังก์ชันควรแปลงตัวเลขเป็นทวินิยมหรือสิบหกสิบหกตามเงื่อนไข:
- ถ้าตัวเลขเป็นเลขคู่ แปลงเป็นทวินิยม (binary)
- ถ้าตัวเลขเป็นเลขคี่ แปลงเป็นสิบหกสิบหก (hexadecimal)
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const num = 1457;
const conditionalConvert = (num = 1) => {
const isEven = num % 2 === 0;
const toBinary = () => num.toString(2);
const toHexadecimal = () => num.toString(16);
return isEven
? toBinary()
: toHexadecimal();
};
console.log(conditionalConvert(num));
ผลลัพธ์
5b1
คำอธิบายเพิ่มเติม
1457 เป็นเลขคี่ จึงแปลงเป็น hex: 5B1 (ตัวพิมพ์เล็ก) JavaScript toString(radix) รองรับ base 2-36 สามารถขยายได้สำหรับ base อื่นๆ