-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