ฟังก์ชันนี้แปลงตัวเลขเป็นสตริงรูปขยาย (expanded form) แสดงค่าตำแหน่ง (place value) ของแต่ละหลัก
ตัวอย่าง
// Input: 125 // Output: '100+20+5'
ตัวอย่างโค้ด
const num = 125;
const expandedForm = num => {
const numStr = String(num);
let res = '';
for (let i = 0; i < numStr.length; i++) {
// ค่าตำแหน่ง = ตัวเลข × 10^(จำนวนหลัก - ตำแหน่ง - 1)
const placeValue = +numStr[i] * Math.pow(10, numStr.length - 1 - i);
if (numStr.length - i > 1) {
res += `${placeValue}+`;
} else {
res += placeValue;
}
}
return res;
};
console.log(expandedForm(num));
การทำงาน
- แปลงตัวเลขเป็นสตริงเพื่อเข้าถึงแต่ละหลัก
- คำนวณ place value:
digit × 10^(position from right) - ต่อสตริงด้วย '+' ระหว่างพจน์ ยกเว้นพจน์สุดท้าย
ผลลัพธ์
100+20+5
ประยุกต์ใช้: การสอนคณิตศาสตร์ การแสดงผลตัวเลขในรูปแบบอ่านง่าย การแยกวิเคราะห์ตัวเลข