Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách tách mảng số thành các chữ số riêng lẻ trong JavaScript

Có mảng số, viết hàm splitDigit() nhận mảng này và trả về mảng số mà các số > 10 được tách thành các chữ số đơn lẻ.

Ví dụ:

// Input: [94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106]// 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]

Sử dụng reduce() và hàm đệ quy tách 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));

Kết quả

Đầu ra trong console 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 ]