如何在 JavaScript 中将数字数组拆分为单个数字?

javascriptweb developmentobject oriented programming更新于 2025/10/8 23:40:17

我们有一个数字文字数组,我们需要编写一个函数,例如 splitDigit(),它接受此数组并返回一个数字数组,其中大于 10 的数字被拆分为单个数字。

例如 −

//如果输入是:
const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ]
//则输出应为:
const output = [ 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0, 1, 0, 1, 1,
0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6 ];

那么,让我们为这个函数编写代码,我们将使用 Array.prototype.reduce() 方法来拆分数字。

示例

const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ]
const splitNum = (n, res = []) => {
   if(n){
      return splitNum(Math.floor(n/10), [n % 10].concat(res));
   };
   return res;
};
const splitDigit = (arr) => {
   return arr.reduce((acc, val) => acc.concat(splitNum(val)), []);
};
console.log(splitDigit(arr));

输出

控制台中的输出将是 −

[
   9, 4, 9, 5, 9, 6, 9, 7, 9,
   8, 9, 9, 1, 0, 0, 1, 0, 1,
   1, 0, 2, 1, 0, 3, 1, 0, 4,
   1, 0, 5, 1, 0, 6
]

相关文章


有用资源