เราจำเป็นต้องเขียนฟังก์ชัน สมมติว่า splitNumber() ที่ใช้จำนวนเต็มบวกและส่งกลับอาร์เรย์ที่เติมด้วยค่าประจำตำแหน่งของตัวเลขทั้งหมดของตัวเลข
ตัวอย่างเช่น −
หากหมายเลขอินพุตคือ −
const num =1234;
ผลลัพธ์
จากนั้นผลลัพธ์ควรเป็น −
คอนสตเอาท์ =[1000, 200, 30, 4];
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน
ปัญหานี้เหมาะมากสำหรับวิธีการแบบเรียกซ้ำ เนื่องจากเราจะทำซ้ำตัวเลขแต่ละหลักของตัวเลข
ดังนั้นฟังก์ชันแบบเรียกซ้ำที่ส่งคืนอาร์เรย์ของค่าตำแหน่งตามลำดับของตัวเลขจะได้รับโดย -
ตัวอย่าง
const splitNumber =(num, arr =[], m =1) => { if(num){ return splitNumber(Math.floor(num / 10), [m * (num % 10)].concat() arr), ม. * 10); } ส่งคืน arr;};console.log(splitNumber(2346));console.log(splitNumber(5664));console.log(splitNumber(3453));console.log(splitNumber(2));console.log( splitNumber(657576));console.log(splitNumber(345232));
ผลลัพธ์
เอาต์พุตในคอนโซล −
<ก่อน>[ 2000, 300, 40, 6 ][ 5000, 600, 60, 4 ][ 3000, 400, 50, 3 ][ 2 ][ 6000000, 50000, 7000, 500, 70, 6 ][ 300000, 40000 , 5000, 200, 30, 2 ]