【问题标题】:Deleting more than one same data in array in typescript [duplicate]在打字稿中删除数组中的多个相同数据[重复]
【发布时间】:2021-12-23 03:47:04
【问题描述】:
  1. 我想看图片中的单个数据enter image description here

打字稿

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>

WareHouse 模型有 BinCode 字段

【问题讨论】:

  • 你的意思是你想要一个选项在你的选择?
  • 图片显示同一个值从服务中复制了很多次,应该是唯一地过滤掉这些值。
  • 此链接可能对Get all unique values有帮助

标签: html arrays angular typescript arraylist


【解决方案1】:

由于您使用的是 Observable,因此您可以使用 take(1) 获得第一个返回值。这将在发出一个值后立即取消订阅您的 Observable

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

如果您只想返回一个元素,但可以返回多个元素,另一种解决方案 仅存储唯一条目

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);   
}

【讨论】:

  • 找不到名字'take'?什么意思?我曾经习惯管我的朋友
猜你喜欢
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 2018-08-20
相关资源
最近更新 更多