遞迴將數字和減少為一位數字,JavaScript


我們要編寫一個函式,它接受一個數字並不斷累加一位數字直至結果不再是一位數字,當我們得到一位數字時,我們返回它。

它的程式碼很簡單,我們編寫一個遞迴函式,它不斷累加數字直至該數字大於 9 或小於 -9(我們要單獨處理符號,這樣我們就不用編寫兩次邏輯。)

示例

const sumRecursively = (n, isNegative = n < 0) => {
   n = Math.abs(n);
   if(n > 9){
      return sumRecursively(parseInt(String(n).split("").reduce((acc,val) => {
         return acc + +val;
      }, 0)), isNegative);
   }
   return !isNegative ? n : n*-1;
};
console.log(sumRecursively(88));
console.log(sumRecursively(18));
console.log(sumRecursively(-345));
console.log(sumRecursively(6565));

輸出

在控制檯的輸出將為 −

7
9
-3
4

更新於: 24-Aug-2020

219 次瀏覽

開始你的職業生涯

完成課程並獲得認證

立即開始
廣告
© . All rights reserved.