将负数拆分,然后加在一起

Alt*_*irl 1 javascript

我正在尝试编写一个函数来对负数和正数的各个数字求和.在我将数字分开之后,我被困在如何将负数加起来.我是否可以逃避' - '标志['-5', '3', '8' ]而不是(-538)返回而不是[ '-', '5', '3', '8' ]或者我是否采取了解决此问题的错误方法?

function sumDigits(num) {
    var count = 0;
    
    var intermediate =  num.toString().split('')
    
    for(var i = 0; i < intermediate.length; i++){
        count += parseInt(intermediate[i])
        
}
   return count; 
}


var positive = sumDigits(2309);
console.log(positive); // --> 14


var negative = sumDigits(-8525);
console.log(negative); // --> 4
Run Code Online (Sandbox Code Playgroud)

Pra*_*lan 5

使用String#match-数字匹配可选的正则表达式.

function sumDigits(num) {
  var count = 0;
  var intermediate = num.toString().match(/-?\d/g);
  for (var i = 0; i < intermediate.length; i++) {
    count += parseInt(intermediate[i])
  }
  return count;
}


var positive = sumDigits(2309);
console.log(positive);


var negative = sumDigits(-8525);
console.log(negative);
Run Code Online (Sandbox Code Playgroud)