Filtrowanie w array po kilku ID’kach

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.


Opublikowano

w