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

Tổng các chữ số của số âm (chữ số âm và dương) - JavaScript

Chúng ta cần viết một hàm JavaScript nhận vào một số nguyên âm và trả về tổng các chữ số của nó, trong đó chữ số đầu tiên (dấu âm) được coi là âm, các chữ số còn lại là dương.

Ví dụ

-234 --> -2 + 3 + 4 = 5
-54  --> -5 + 4 = -1

Giải pháp

Chuyển số thành chuỗi, tách thành mảng ký tự, sau đó dùng reduce() để tính tổng. Chữ số tại index 0 (dấu âm) bị trừ, các chữ số còn lại bị cộng.

const num = -4345;

const sumNum = num => {
  return String(num).split("").reduce((acc, val, ind) => {
    if (ind === 0) {
      return acc; // Bỏ qua dấu '-'
    }
    if (ind === 1) {
      acc -= +val; // Chữ số đầu tiên sau dấu trừ: trừ vào tổng
      return acc;
    }
    acc += +val; // Các chữ số tiếp theo: cộng vào tổng
    return acc;
  }, 0);
};

console.log(sumNum(num)); // 8

Kết quả

8

Giải thích: Với -4345: -4 + 3 + 4 + 5 = 8