在 JavaScript 中查找数字的位值

javascriptweb developmentfront end technologyobject oriented programming更新于 2026/1/29 12:28:17

我们需要编写一个函数,假设为 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 ]

相关文章


有用资源