用 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 ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言
C++
C#
MongoDB
MySQL
JavaScript
PHP