เราจำเป็นต้องเขียนฟังก์ชันที่ให้ตัวเลข 123 ออกมาเป็นอาร์เรย์ −
[100,20,3]
โดยทั่วไป ฟังก์ชันนี้คาดว่าจะส่งคืนอาร์เรย์ที่มีค่าตำแหน่งของตัวเลขทั้งหมดที่มีอยู่ในตัวเลขที่ฟังก์ชันใช้เป็นอาร์กิวเมนต์
เราสามารถแก้ปัญหานี้ได้โดยใช้วิธีการแบบเรียกซ้ำ
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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 ]