Array Slicer
Node.JS module that implements an optimized binary search over a given array of objects.Quick example
var IndexedArray = require("arrayslicer");
var ia = new IndexedArray([{num: 1}, {num: 2}, {num: 5}], "num");
ia.fetch(2); // ia.cursor is set to 1
ia.get(1); // -> {num: 1}
ia.getRange(2, 5); // -> [{num: 2}, {num: 5}]
Install
npm install arrayslicer
API
IndexedArray(array, index)
Creates a newIndexedArray
object based on array
and indexed by the property index
.IndexedArray.sort()
Sort theIndexedArray
by its index property. This is needed to ensure the values are retrieved properly.IndexedArray.fetch(value)
Sets the internal pointer of theIndexedArray
, called cursor
, to the element with index equal value
.If there are no matching elements, the properties
nexthigh
and nextlow
are set to the nearest indexes to value
.IndexedArray.get(value)
Gets the element with index equalvalue
.If there are no matching elements, the function will return
null
.IndexedArray.get(begin, end)
Returns an array containing all the elements withinbegin
and end
, including both values if exact matches are found within the data.