从满足特定要求的对象数组返回值

时间:2019-04-11 10:17:23

标签: arrays angular typescript filter

在我的模板中,我有带有图像的产品。您可以订购这些需要使图像不同的产品。订单可以有多个状态,分别是下订单,已订购和已接收。我需要从产品中获取具有特定ID的状态。这是我的模板:

<div *ngFor="let lproduct of locationProducts">
      <div class="productDivWidth" *ngIf="lproduct.departmentId.departmentId == location.departmentId.departmentId">
        {{lproduct.productId.productName}}
        <br>
        <img *ngIf="IsOrdered(lproduct.productId.productId) === null" src="{{lproduct.productId.productImage}}"
          class="product-image">
        <img *ngIf="IsOrdered(lproduct.productId.productId) === Openstaand"
          src="https://image.flaticon.com/icons/svg/175/175461.svg" class="product-image">
        <br>
        <button class="btn btn-default" data-toggle="modal" data-target="#exampleModal"
          (click)="OrderProduct(lproduct.productDepartmentId)"></button>
      </div>
    </div>

我的功能:

 IsOrdered(id: number) {
    return this.orders.filter(e => e.productId.productId === id).statusId.statusName;
  }

1 个答案:

答案 0 :(得分:1)

filter方法返回一个数组,因此尝试将其替换为find,该数组会返回第一个匹配项,因为我认为ID是唯一的,因此请将您的返回声明更改为

return this.orders.find(e => e.productId.productId === id).statusId.statusName