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
相关产品推荐
相关产品推荐

