Name Last Update
..
.travis.yml Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
example.js Loading commit data...
index.js Loading commit data...
package.json Loading commit data...
test.js Loading commit data...

sorted-array-functions

Maintain and search through a sorted array using some low level functions

npm install sorted-array-functions

build status

Usage

var sorted = require('sorted-array-functions')
var list = []

sorted.add(list, 1)
sorted.add(list, 4)
sorted.add(list, 2)

console.log(list) // prints out [1, 2, 4]
console.log(sorted.has(list, 2)) // returns true
console.log(sorted.has(list, 3)) // returns false
console.log(sorted.eq(list, 2)) // returns 1 (the index)
console.log(sorted.gt(list, 2)) // returns 2
console.log(sorted.gt(list, 4)) // returns -1

API

sorted.add(list, value, [compare])

Insert a new value into the list sorted. Optionally you can use a custom compare function that returns, compare(a, b) that returns 1 if a > b, 0 if a === b and -1 if a < b.

var bool = sorted.remove(list, value, [compare])

Remove a value. Returns true if the value was in the list.

var bool = sorted.has(list, value, [compare])

Check if a value is in the list.

var index = sorted.eq(list, value, [compare])

Get the index of a value in the list (uses binary search). If the value could not be found -1 is returned.

var index = sorted.gte(list, value, [compare])

Get the index of the first value that is >=. If the value could not be found -1 is returned.

var index = sorted.gt(list, value, [compare])

Get the index of the first value that is >. If the value could not be found -1 is returned.

var index = sorted.lte(list, value, [compare])

Get the index of the first value that is <=. If the value could not be found -1 is returned.

var index = sorted.lt(list, value, [compare])

Get the index of the first value that is <. If the value could not be found -1 is returned.

License

MIT