首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于仅循环打印第一次迭代多次

用于仅循环打印第一次迭代多次
EN

Stack Overflow用户
提问于 2022-09-23 10:19:33
回答 1查看 46关注 0票数 -1

我正在构建一个租金计算器应用程序,它有3个字段--总租金、年租金增量和计算.when租金的年数--我在输入字段中填写了输入字段,代码只打印第一次迭代多次,我想要它打印随年数增加的值。

Html文件

租金计算器

代码语言:javascript
运行
复制
<input type="number" name="rent" placeholder="Enter your total rent" [(ngModel)]="rent" />

<input type="number" placeholder="Rent increase per Year" [(ngModel)]="increase">

<input type="number" placeholder="Number of Total Years" [(ngModel)]="months">

<button type="button" (click)="calculate()"> Calculate </button>
<br>

<h4 *ngFor="let r of total;let i=index">

    Year {{i+1}}&nbsp; &nbsp;=&nbsp;&nbsp;{{r}}&nbsp;Rs

</h4>

ts文件..。

代码语言:javascript
运行
复制
export class RentCalculatorComponent {

  constructor() { }

  increase!: number;

  months!: number;

  rent!: number;

  new!: number;

  total: any[] = [];//declare an array

  calculate() {

    for (let i = 0; i <= this.months - 1; i++) {
     
      this.new = this.rent + this.rent * this.increase / 100;

      this.total[i] = this.new.toFixed(2);; //here store in the array the result

      console.log(this.total[i]);

    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-23 11:25:09

您正在初始化长度为0的数组。当您从0循环到month.length - 1时,基本上是将值设置在数组的界限之外。您应该尝试使用this.total.push(this.new.toFixed(2));来增加数组的长度。

尽管如此,还是有几个暗示:

  • 您不应该将变量命名为new,因为在许多语言
  • 中,这是一个保留字,当变量确实没有设置时,不应该使用“bang-操作符”(或“非空断言-运算符”)。您应该用有效值初始化它(在您的例子中是

)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73826272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档