Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แปลงตัวเลขเป็นหลักสิบ ร้อย พัน ฯลฯ - JavaScript

เราต้องเขียนฟังก์ชันที่รับตัวเลข เช่น 123 และคืนค่าอาร์เรย์:

[100, 20, 3]

โดยพื้นฐานแล้ว ฟังก์ชันคาดหวังให้คืนค่าอาร์เรย์ที่มีค่าตำแหน่ง (place value) ของทุกหลักในตัวเลขที่รับเข้ามา

เราสามารถแก้ปัญหานี้ได้โดยใช้วิธีการ recursive

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const num = 123;

const placeValue = (num, res = [], factor = 1) => {
  if(num){
    const val = (num % 10) * factor;
    res.unshift(val);
    return placeValue(Math.floor(num / 10), res, factor * 10);
  };
  return res;
};

console.log(placeValue(num));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

[ 100, 20, 3 ]