Czasami potrzebujemy przefiltrowac tablice po kilku id np. żeby ograniczyć ilość danych do wyświetlenia w dropdownie.
Możemy to zrobić za pomocą metod filter
oraz includes
. W pierwszym przypadku wykluczamy ID ze zbioru:
const activeIds = [1, 2];
const serviceList = [
{"id":0,"title":"a"},
{"id":1,"title":"b"},
{"id":2,"title":"c"},
{"id":3,"title":"d"},
{"id":4,"title":"e"}
];
const result = serviceList.filter(({id}) => !activeIds.includes(id));
Wynik console.log(result)
będzie następujący:
// rezultat:
[
{
"id": 0,
"title": "a"
},
{
"id": 3,
"title": "d"
},
{
"id": 4,
"title": "e"
}
]
W przypadku gdy chcemy ograniczyc zbior tylko do wybranych ID usuwamy tylko znak negacji.
const result = serviceList.filter(({id}) => activeIds.includes(id));
Wynik console.log(result)
będzie następujący:
// rezultat:
[
{
"id": 1,
"title": "b"
},
{
"id": 2,
"title": "c"
}
]
Więcej wpisów wkrótce.