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

RxJS如何筛选Observable数组中符合指定Code条件的项?

错误原因

你代码的语法问题出在Array.filter()的回调函数写法上,存在两处语法错误:

  • 箭头函数如果用大括号{}包裹函数体,才需要显式写return,但你错误地把布尔判断表达式包在了大括号里,变成了非法的对象字面量写法
  • 冗余的return关键字和大括号破坏了语法结构

修正后代码

myApi(): void {
  this.myService.dropdownData()
  .pipe(
    map((data) => data.filter((item) => item.Code ==='ABC' || item.Code === 'XYZ'))
  )
  .subscribe(
    data => {
      console.log('222', data);
    },
    error => {
      this.alert.error(error.error.Message);
    }
  );
}

补充说明

如果习惯显式写return的写法,也可以改成如下格式,效果完全一致:

map((data) => {
  return data.filter((item) => {
    return item.Code ==='ABC' || item.Code === 'XYZ'
  })
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:57:03