# How to Get the Symmetric Difference of Two JavaScript Sets?

## Find out how to get all the uncommon elements between two JavaScript Sets

In mathematical terms, the symmetrical difference of two sets is expressed as `A △ B` or `A ⊖ B` (i.e. set of all uncommon elements between "A" and "B"). It is basically the opposite of intersection.

To get the symmetric difference of two JavaScript `Set` objects, you can:

1. Create a copy of one of the existing sets;
2. Loop over the other set, and check if the current value exists in the copy set:
• If it does, then remove the common value from the copy set;
• If it doesn't, then add the value to the copy set.

For example:

```function symmetricDifference(setA, setB) {
const diff = new Set(setA);

for (const elem of setB) {
const operation = (diff.has(elem)) ? 'delete' : 'add';
diff[operation](elem);
}

return diff;
}

const setA = new Set([1, 2, 3, 4]);
const setB = new Set([3, 4, 5, 6]);

console.log(symmetricDifference(setA, setB)); // Set(4) {1, 2, 5, 6}
```

The ternary inside the loop is meant as a shorthand for `if/else`. You can replace it with `if/else` if you want.

Hope you found this post useful. It was published . Please show your love and support by sharing this post.