我正在尝试编写一个函数来对负数和正数的各个数字求和.在我将数字分开之后,我被困在如何将负数加起来.我是否可以逃避' - '标志['-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); // --> 4Run Code Online (Sandbox Code Playgroud)
使用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)