You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中删除数组重复数据实现Angular下拉框BinCode选项唯一

实现方案

你可以在拿到接口返回数据后,基于BinCode字段对数组做去重处理即可,无需修改原有HTML模板逻辑,具体修改如下:

步骤1:修改TypeScript中的接口回调逻辑

onQualityControlWareHouseStock(item)
{    
  alert(item)
  this.qualitycontrolservice.getWareHouseStock(item).subscribe((x:any) =>  {
    // 新增BinCode去重逻辑
    const existedBinCodes = new Set();
    this.qualityControlWareHouseStock = x.Result.filter(stockItem => {
      if (!existedBinCodes.has(stockItem.BinCode)) {
        existedBinCodes.add(stockItem.BinCode);
        return true;
      }
      return false;
    });                           
  })
}

可选优化:增加类型校验

如果项目中已经定义了完整的WareHouse类型,建议替换掉接口返回的any类型,提升代码可维护性:

interface WareHouse {
  BinCode: string;
  // 补充其他模型字段
}

// 回调指定类型
.subscribe((x: {Result: WareHouse[]}) => {
  // 去重逻辑同上
})

内容的提问来源于stack exchange,提问作者Metehan Simsek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:36:02