Javascript happy算法的函数未正确循环

Javascript happy算法的函数未正确循环,javascript,algorithm,Javascript,Algorithm,我的快乐算法有问题。该算法接受来自我的html输入框的输入。它将数字平方并相加。如果总和是1,那么数字是快乐的,但如果不是,它会检查之前的所有总和,看看它是否与其中一个相同。如果是这样的话,这个数字是不高兴的。如果两者都不存在,则使用新编号重复该算法 //takes input value and then receives the output function start() { var int = document.getElementById('inp').valu

我的快乐算法有问题。该算法接受来自我的html输入框的输入。它将数字平方并相加。如果总和是1,那么数字是快乐的,但如果不是,它会检查之前的所有总和,看看它是否与其中一个相同。如果是这样的话,这个数字是不高兴的。如果两者都不存在,则使用新编号重复该算法

 //takes input value and then receives the output
    function start() {
      var int = document.getElementById('inp').value;
      numbersChecked = [];
      var value = happy(int);
    
      console.log(int.toString() + " is " + value);
    }
    //recurs the funtion it doesn't work with it in the function
    function unhappy(n) {
      happy(n)
    }
    //the main function. Takes the value, adds up the squares of their digits and then checks
    //to see if it is equal to one (happy) or repeats a numbers (unhappy)
    function happy(n) {
      n.toString();
      //create|reset variables
      sum = 0;
      //loop through digits in string
      for (var i = 0; i < n.length; i++) {
        num = parseInt(n[i]);
        square = num**2;
        sum+=square;
      }
      //check numbers for repeats or return "Happy"
      if (sum == 1) {
        return "Happy";
      } else {
        for (var i = 0; i < numbersChecked.length; i++) {
          if (sum == numbersChecked[i]) {
            return "Unhappy";
          }
        }
        numbersChecked.push(sum);
        console.log(numbersChecked);
        unhappy(sum);
      }
    }
//获取输入值,然后接收输出
函数start(){
var int=document.getElementById('inp').value;
numbersChecked=[];
var值=快乐(int);
log(int.toString()+“是”+值);
}
//递归函数它在函数中不起作用
函数(n){
快乐(n)
}
//主要功能。获取值,将其数字的平方相加,然后进行检查
//看看它是等于一(快乐)还是重复一个数字(不快乐)
函数快乐(n){
n、 toString();
//创建|重置变量
总和=0;
//循环字符串中的数字
对于(变量i=0;i
如果样本输入不正常,请提供样本输入。别担心,我已经修复了。它是关于字符串和整数之间的转换