在Observable中使用正则表达式进行过滤

时间:2018-11-18 16:36:27

标签: typescript observable angular7

我想使用不区分大小写的过滤器。 我尝试了很多方法,但没有成功。 如果我在过滤器中应用新的正则表达式或使用match,则它的工作包括但不成功

  filterProperties() {
    this.propertiesService.getProperties().pipe(
      map(
        //  (properties) => properties.filter(property => property.title.includes('LON')))
         (properties) => properties.filter(
           property => {
           const title = new RegExp('london', 'i');
           property.title.match(title);
          }
          )),
        tap(x => x)
      )
      .subscribe(
        properties => this.properties = properties
      );
  console.log(this.properties);
  }

1 个答案:

答案 0 :(得分:0)

filter的回调应该返回某内容,includes之所以起作用,是因为您返回了true/false的{​​{1}}值,如果{{1} }丢失了,includes在这里就是您的情况,{}无效,因为您没有退货,要解决该问题,请添加退货

property => property.title.includes('LON')