>

현재 예산 앱을 만들고 있습니다. 가격 속성으로 추가 할 수있는 다양한 비용이 있습니다. cost.model.ts로 구성됩니다. Typescript 내의 price 속성에 액세스하려고합니다. ngFor 루프를 사용하여 HTML에서 이미 액세스 할 수 있습니다. TypeScript 내에서 for 루프를 사용하여 수행 할 수있는 방법이 있습니까?

expenses.service.ts

import { Injectable } from '@angular/core';
import { Expense } from '../expenses-list/expense/expense.model';
@Injectable({
  providedIn: 'root'
})
export class ExpensesService {
  expenses: Expense [] = [
    new Expense('car payment', 350) // price
];
constructor() { }
onAddExpenseToExpenses(expense: Expense) {
  this.expenses.push(expense);
}
// EXAMPLE //
onCalculate() {
  // get prices from listed items
  // add all the prices
  // subtract income from sum of prices
}

확실하지 않으면 죄송합니다. 방금 Angular 6을 사용하기 시작했습니다.

도움을 주셔서 감사합니다! =)

여기 내 비용 모델이 있습니다

export class Expense {
  private item: string;
  private price: number;
constructor(item: string, price: number) {
    this.item = item;
    this.price = price;
  }
}


  • 답변 # 1

    타입 스크립트에서 간단히 for 루프를 사용할 수 있습니다

    이와 같은 비용을 정의

    expenses: Array<Expense>
    
    

    그리고 생성자 아래에 코드를 작성 해주세요

    this.expenses = new Array<Expense>()
    let x = new Expense('car payment', 350);
    this.expenses.add(x);
    //or
    this.expenses.push(x);
    
    

    그 후 onCalculate에 이것을 쓰십시오

    let sum = 0
    for (let item of expenses) {
       sum += item.Price;
    }
    
    

    typescriptlang 웹 사이트의 루프 연구 반복자 및 생성기에 대한 자세한 내용은

  • 답변 # 2

    TypeScript 및 JavaScript가 Type 및 Interface없이 거의 동일합니다. JS 문서를 배우고 참조해야합니다.

    루프와 관련된 여러 가지 방법이 있습니다 :

    의 경우 :

     let sumPrices = 0;
      for (let i = 0; i < this.expenses; i++) {
        sumPrices += this.expenses[i].price;
      }
    
    

    의 :

     let sumPrices = 0;
      for (const o of this.expenses) {
        sumPrices += o.price;
      }
    
    

    배열 맵 :

     // get prices from listed items
      // add all the prices
      const sumPrices = this.expenses.reduce((acc, o) => acc + o.price, 0);
    
    

관련 자료

  • 이전 linux - Python에서 sysexit를 호출 할 때 upstart 서비스가 중지되지 않는 이유
  • 다음 android - 동적 파일 이름으로 SQLite 데이터베이스 백업 가져 오기