用 JavaScript 返回一個填充有數字所有位值的陣列


我們要求編寫一個名為 splitNumber() 的函式,該函式接受一個正整數並返回一個填充有數字所有位值的陣列。

例如,-

//if the input is:
const num = 2346;
//the output should be:
const output = [2000, 300, 40, 6];

讓我們為這個函式編寫程式碼。

這個問題非常適合遞迴方法,因為我們將迭代數字的每一位。所以,返回位值陣列的遞迴函式將由以下內容給出 -

示例

const splitNumber = (num, arr = [], m = 1) => {
   if(num){
      return splitNumber(Math.floor(num / 10), [m * (num % 10)].concat(arr),m * 10);
   }
   return 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 ]
[ 600000, 50000, 7000, 500, 70, 6 ]
[ 300000, 40000, 5000, 200, 30, 2 ]

更新時間: 2020 年 8 月 25 日

142 人檢視

開啟你的 職業生涯

完成課程即可獲得認證

立即開始
廣告
© . All rights reserved.