Easy Solution to find the Symmetric Difference:

```
function sym(args) {
const elements = Array.from(arguments)
.reduce((a,b)=>a.concat(b).filter(e=>a.indexOf(e)==-1||b.indexOf(e)==-1));
return [... new Set(elements)];
}
sym([1, 2, 3], [5, 2, 1, 4]);
// result [3,5,4]
// if sorted, result [3,4,5]
```

## Explanation:

`Array.from(arguments)`

will take all the arguments, so we do not need to set separate arguments in the main function like`args1, args2`

- With
`reduce()`

method, firstly we will collect all the elements of all the arguments in a single array with`concat()`

method - Then we will filter all the elements thoes are not included in
`a`

and then not included in`b`

. Index`-1`

finds not included/ not in the collection. - Well, the main job is done. But, this may contain same/duplicate elements as we use
`concat()`

method - So, now, we will clear the duplicate values from the result with
`new Set()`

method, but`new Set`

will result like this`Set {3,5,4}`

. It’s done. But, we need to convert this set to an array to use in our project - And, we can do it by
`Array.from()`

method or`[...setNameHere]`

sprade operator method - Together, it will be like this

```
Array.from(new Set(elemets));
//or
[...new Set(elements)];
// result [3,5,4]
```

- And if you want to sort the elements, at the end, use the
`sort()`

method like this

```
return [...new Set(elements)].sort();
// result [3,4,5]
```

## What is Symmetric Difference?

Symmetric difference (△) of two sets is the set of elements which are in either of the two sets but not in both.

For example, for set A = {1, 2, 3, 4} and set B = {2, 3, 4, 5}, A △ B = {1, 5}.

If you find this solution helpful, please feel free to share it.