Book Image

Learning JavaScript Data Structures and Algorithms

By : Loiane Avancini
Book Image

Learning JavaScript Data Structures and Algorithms

By: Loiane Avancini

Overview of this book

Table of Contents (18 chapters)

Set operations


We can perform the following operations on sets:

  • Union: Given two sets, this returns a new set with the elements from both given sets

  • Intersection: Given two sets, this returns a new set with the elements that exist in both sets

  • Difference: Given two sets, this returns a new set with all elements that exist in the first set and do not exist in the second set

  • Subset: This confirms whether a given set is a subset of another set

Set union

The mathematic concept of union is that the union of sets A and B, denoted by , is the set defined as:

This means that x (the element) exists in A or x exists in B. The following diagram exemplifies the union operation:

Now let's implement the union method in our Set class:

this.union = function(otherSet){
    var unionSet = new Set(); //{1}

    var values = this.values(); //{2}
    for (var i=0; i<values.length; i++){
        unionSet.add(values[i]);
    }

    values = otherSet.values(); //{3}
    for (var i=0; i<values.length; i++){
  ...