-1
我正在处理一些使用高阶函数的实践问题,同时我能够解决这个问题。我不禁想到这个代码很丑,也不是最有说服力的。有没有一种方法来组合地图和减少是比我做的更清洁的方式?另外,还有其他方法或改进我可以在这里使用吗?我只是想变得更好,任何反馈将不胜感激。如何清理此代码并更加雄辩地编写代码?
问题:给定一个数字,“sumDigits”返回所有数字的总和。如果数字是负数,则第一个数字应计为负数。
function sumDigits(num) {
//create array of number char
var string = num.toString().split('');
//if first char is negative symbol let the first numeric element be negative
if (string[0] === "-") {
string[1] = '-' + string[1];
string.shift();
}
//convert string to int
var toInteger = string.map(function(x) {
return Number(x);
});
//get sum
return toInteger.reduce(function(sum, current) {
sum += current;
return sum;
})
}
sumDigits(-316);
尝试https://codereview.stackexchange.com/。堆栈溢出是针对**破解的**代码。 – Claies
其他方法https://stackoverflow.com/questions/38334652/sum-all-the-digits-of-a-number-javascript – wrangler