在 JavaScript 中查詢數字的位值
我們需要編寫一個函式,比如 splitNumber(),該函式接受一個正整數並返回一個數組,其中填充了該數字所有位的位值。
例如 -
如果輸入數字是 -
const num = 1234;
輸出
則輸出應為 -
const output = [1000, 200, 30, 4];
我們來編寫此函式的程式碼。
此問題非常適合遞迴方法,因為我們將對數字的每個位進行迭代。
因此,返回位值陣列的遞迴函式將為 -
示例
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 ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP