Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để chia một mảng Số thành các chữ số riêng lẻ trong JavaScript?

Chúng ta có một mảng các ký tự Số và chúng ta bắt buộc phải viết một hàm, chẳng hạn như splitDigit () tham gia vào mảng này và trả về một mảng Số trong đó các số lớn hơn 10 được chia thành các chữ số đơn lẻ.

Ví dụ -

//if the input is:
const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ]
//then the output should be:
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 ];

Vì vậy, hãy viết mã cho hàm này, chúng ta sẽ sử dụng phương thức Array.prototype.reduce () để chia nhỏ các số.

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[
   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
]