Я создал приложение для отображения элементов из JSON. У меня 1500+ элементов в большом массиве, а также в массиве массивов, содержащих элементы, отсортированные по категориям.
const fullDataSet = [{name: 'Foo', category: 'vegetable'}, {name: 'Bar', category: 'fruit'}];
const = sortedByCategory = [
[{name: 'Foo', category: 'vegetable'}, {name: 'FooBis', category: 'vegetable'}],
[{name: 'Bar', category: 'fruit'}, {name: 'Baz', category: 'fruit'}]
];
Я реализовал фильтр для поиска по атрибутам в каждом элементе, который работает на моем * ngFor.
Проблема в том, что мне нужно, чтобы элементы также были отсортированы по категориям, с заголовком для каждой категории.
Теперь у меня есть 2 цикла, по одному для каждой категории в массиве sortedByCategory и вложенный для каждого элемента в категории.
Проблема в том, что если отфильтрованные результаты пусты, имя категории все еще присутствует.
Как я могу структурировать свой код так, чтобы имена категорий отображались только тогда, когда во вложенном цикле ngFor есть элементы после фильтра? Нужна ли идея вложенных циклов и фильтров или ее можно было бы сделать более производительной?