【问题标题】:Typescript Code is not returning any output, but is running打字稿代码没有返回任何输出,但正在运行
【发布时间】:2017-12-05 15:55:45
【问题描述】:

我正在尝试获取一个带有数字的字符串,如果前一个数字和后一个数字匹配,则将其添加到总和中,因此 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。

【问题讨论】:

    标签: javascript typescript uipath


    【解决方案1】:

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

    stringToInt.getSumList.toString
    

    应该是

    stringToInt.getSumList().toString()
    

    我猜这不会打印,因为

    stringToInt.getSumList
    

    求值到getSumList 函数本身,然后

    getSumList.toString
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多