From 4b334f71bb05dc9eafe5b56329ee5f3ab91582e4 Mon Sep 17 00:00:00 2001 From: xaveyaguarez Date: Thu, 14 Dec 2017 23:51:01 -0800 Subject: [PATCH] added symmetric difference note to Array difference --- snippets/array-difference.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/snippets/array-difference.md b/snippets/array-difference.md index 208cb811e..b70c2d837 100644 --- a/snippets/array-difference.md +++ b/snippets/array-difference.md @@ -3,6 +3,14 @@ Create a `Set` from `b`, then use `Array.filter()` on `a` to only keep values not contained in `b`. ```js -const difference = (a, b) => { const s = new Set(b); return a.filter(x => !s.has(x)); }; -// difference([1,2,3], [1,2]) -> [3] +const difference = (a, b) => { const s = new Set(b); a.filter(x => !s.has(x)); }; +// difference([1,2,3], [1,2,4]) -> [3] +``` + +This function can also be used to generate the symmetric difference or disjunctive union by swapping the +arrays and combining the results. + +```js +const symmetricDifference = (a, b) => [...difference(a,b), ...difference(b,a)]; +// difference([1,2,3], [1,2,4]) -> [3,4] ```