在打字稿中删除数组中的多个相同数据

Deleting more than one same data in array in typescript

  1. 我想看单条数据,如图所示enter image description here

TypeScript

onQualityControlWareHouseStock(item)
      {    
         alert(item)
        this.qualitycontrolservice.getWareHouseStock(item).subscribe((x:any) =>  {
          this.qualityControlWareHouseStock = x.Result;   
                               
       })
      }

Html

<select>                        
    <option *ngFor="let binCode of qualityControlWareHouseStock" [ngModel]="binCode.BinCode" ngDefaultControl>{{binCode.BinCode}}</option>
 </select>

仓库模型有BinCode字段

自从您使用 Observable 以来,您可以通过 take(1) 获得第一个 return。一旦发出一个值,这将取消订阅您的 Observable

this.qualitycontrolservice.getWareHouseStock(item).pipe(take(1)).subscribe(
(x:any) =>  {
        this.qualityControlWareHouseStock = x.Result;   
}

另一个解决方案,如果你只想 return 一个元素一次但你可以 仅存储唯一条目

function onlyUnique(value, index, self) {
  return self.indexOf(value) === index;
}

this.qualitycontrolservice.getWareHouseStock(item).pipe(take(1)).subscribe(
(x:any) =>  {
        this.qualityControlWareHouseStock = x.Result.filter(onlyUnique);   
}