Typescript 代码没有返回任何输出,而是 运行

Typescript Code is not returning any output, but is running

我正在尝试获取一个带有数字的字符串,如果前一个数字和后一个数字之间存在匹配项,则将其添加到总和中,因此 55412 将为 5,而 112332 将为 1 + 3,因此为 4。这是用打字稿编码的,问题是我的代码没有输出任何东西。

function uipath(e, arg)
{
  let stringToInt = new StringToInt("5514133");
  stringToInt.charCompareAndSum();
  stringToInt.stringSplit();
  alert (stringToInt.getSumList.toString);
}

class StringToInt
{
  private argumentString : string ;
  private numberArr : Array<string>;
  private sumList : number;

  constructor( arg: string)
  {
    this.argumentString = arg ;
  }

  stringSplit()
  {
    this.numberArr = this.argumentString.split(/(?=.)/u);
  }

  charCompareAndSum()
  {
    for(var i = 0; i < this.numberArr.length -1; i++ )
    {
      if (this.numberArr[i] == this.numberArr[i+1])
      {
        this.sumList = this.sumList + +this.numberArr[i];
      }
    }    
  }

  get getSumList():number
  {
    return this.sumList;
  }
}

输出应该是8。

除非我遗漏了什么,否则你需要调用你的函数:

stringToInt.getSumList.toString

应该是

stringToInt.getSumList().toString()

我猜这不会打印任何内容,因为

stringToInt.getSumList

计算 getSumList 函数本身,然后

getSumList.toString

计算结果为 undefined,因为该函数没有 toString 属性。