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

我们有一个Number文字数组,我们需要编写一个函数,说splitDigit()要接受该数组并返回Numbers数组,其中大于10的数字被拆分为个位数。

例如-

//if the input is:

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

]

以上是 如何在JavaScript中将数字数组拆分为单个数字? 的全部内容, 来源链接: utcz.com/z/338362.html

回到顶部