как сделать фильтрацию из массива в angular - PullRequest
0 голосов
/ 31 марта 2020

У меня есть эти данные в моем файле tags.ts, и я не уверен, как я могу выполнить фильтрацию по имени. Я смог сделать это с помощью обычного списка строк, но не знал, как это сделать для массивов. Любое предложение или помощь, как это сделать.

export const tags2: Array<Tag> = [{name: "Lam", superTag: true},
{name: "Eliz", superTag: false},
{name: "Cathy", superTag: true},
{name: "John", superTag: false},
{name: "James", superTag: false},
{name: "David", superTag: false}];

Ниже код работает нормально для обычного списка строк, но не для массивов

import { tags2 } from "./tags.data";

    this._filteredTags = this.tags.filter((v: string) =>
      v.toLowerCase().includes(filterValue.toLowerCase().trim())
    );
  }
}

1 Ответ

3 голосов
/ 31 марта 2020

Вы должны проверить имя вместо toLowerCase() на объекте

this._filteredTags = this.tags.filter((v: string) =>
    v["name"].toLowerCase().includes(filterValue.toLowerCase().trim())
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...