New ES 6 (Harmony) introduces new Set object. Identity algorithm used by Set is similar to ===
operator and so not much suitable for comparing objects:
Create a new set from the combination of both sets, then compare the length.
let set1 = new Set([1, 2, 'a', 'b'])
let set2 = new Set([1, 'a', 'a', 2, 'b'])
let set4 = new Set([1, 2, 'a'])
function areSetsEqual(set1, set2) {
const set3 = new Set([...set1], [...set2])
return set3.size === set1.size && set3.size === set2.size
}
console.log('set1 equals set2 =', areSetsEqual(set1, set2))
console.log('set1 equals set4 =', areSetsEqual(set1, set4))
set1 equals set2 = true
set1 equals set4 = false