Фильтр с регулярным выражением внутри Observable - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу отфильтровать с нечувствительным регистром. Я пробовал много способов, но безуспешно. Он работает с включениями, но безуспешно, если я применяю новое регулярное выражение внутри фильтра или использую 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 голосов
/ 18 ноября 2018
Обратный вызов

filter должен что-то возвращать, с includes это работает, потому что вы возвращаете true/false значение includes, функция стрелки автоматически возвращает одну строку, если {} отсутствует, это ваш случай здесь property => property.title.includes('LON'), с regexp это не работает, потому что вы что-то не вернули, чтобы исправить это, добавьте return

properties => properties.filter(
  property => {
  const title = new RegExp('london', 'i');
  return property.title.match(title);
 }
))
...