JavaScript: Różnica symetryczna dwóch zbiorów

Opublikowano: 17.09.2024 - tagi: JavaScript Filtrowanie Dane Zbiór Tablica

Różnica symetryczna

Mamy dwa zbiory danych:

A = [1, 2, 3, 4, 5, 6, 7]
B = [4, 5, 6, 7, 8, 9]

Różnica symetryczna A i B to zbiór, do którego należą elementy ze zbioru A, które nie należą jednocześnie do zbioru B oraz te elementy, które należą do zbioru B i nie należą do zbioru A.

W podanym przykładzie różnica symetryczna to zbiór:

C = [1, 2, 3, 8, 9]

Przykład

Poniższy przykład pokazuje, jak pobrać różnicę symetryczną z dwóch zbiorów:

const a = [1, 2, 3, 4, 5, 6, 7];
const b = [4, 5, 6, 7, 8, 9];

const c = [
    ...a.filter(item => !b.includes(item)),
    ...b.filter(item => !a.includes(item))
];

console.log(c); // [1, 2, 3, 8, 9]