首页 > 解决方案 > 我正在尝试输出一种数字模式,该模式接受输入并下降,然后一次上升回原始数字一位数

问题描述

我正在尝试编写一个使用递归输出与此类似的模式的问题。

cascade(12345) //should print

12345
1234
123
12
1
12
123
1234
12345

我想出了如何做下降部分,但我被困在如何重新上升!这是我目前所拥有的......

function cascade(number) {
  let strNum = number.toString()
  let numLength = strNum.length;
  let lengthTracker = numLength
  let hasHit1 = false;
  console.log(strNum)
  if (lengthTracker > 1 && hasHit1 === false) { 
    strNum = strNum.substring(0, strNum.length - 1);
    lengthTracker--;
    return cascade(strNum)
  } else {
    return strNum;
  }
}

cascade(143)

这成功输出

'143'
'14'
'1'

之后我将如何将数字一一添加回它?

感谢您的时间!

标签: javascriptrecursiondesign-patternsnumberscascade

解决方案



推荐阅读