Simulating the difference operation

While the intersection operation is achieved by creating a new set with the common elements that both setA and setB have, the difference operation is achieved by creating a new set with the elements that setA has but setB does not. Take a look at the following code:

const difference = (set1, set2) => {  const differenceSet = new Set();  set1.forEach(value => {    if (!set2.has(value)) { // {1}      differenceSet.add(value);    }  });  return differenceSet;};console.log(difference(setA, setB));

The only difference between the intersection function and the difference simulations is line {1} as we only want to add the different Set elements that setA has and setB does not.

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.