A couple of functions that make it easy to maintain an unordered set as an array in an efficient way
npm install unordered-setA couple of functions that make it easy to maintain an unordered set as an array in an efficient way
```
npm install unordered-set

` js
var set = require('unordered-set')
var list = []
var a = {hello: 'world'}
var b = {hej: 'verden'}
set.add(list, a)
set.add(list, b)
console.log(list) // prints a and b
set.remove(list, a)
console.log(list) // prints b
`
Items are removed and added using the same technique as in unordered-array-remove
making the removal/additions run in O(1).
#### set.add(list, item)
Add an item. Notes that this sets the property ._index to a number. If you control the items you insert and this is performance critical it might be benefitial to set item._index = 0 in the item constructor as v8 tends to like that.
#### set.remove(list, item)
Remove an item from the set. Might change the order of the list as well.
#### bool = set.has(list, item)
Returns true if the item is in the list and false otherwise
#### set.swap(list, a, b)`
Swap the positions of two elements in the set
MIT