This is a basic implementation of a sorted array, designed to maintain a collection of items in such a way that it can easily be searched via binary search. Built with effeciency and ease of use in mind.
npm install keepitsortedstupidtypescript
// Import
import { SortedArray } from "keepitsortedstupid";
// initialize
var sortedArray:SortedArray = new SortedArray();
// BulkInsert
sortedArray.bulkInsert([3, 4, 9, 10, 2, 3, 8]);
// Insert
sortedArray.insert(6);
// Contains
console.log( Contains 9? ${sortedArray.contains(9)});
// FindIndex
console.log(Index for 4: ${sortedArray.findIndex(4)});
// ForEach
sortedArray.forEach((item) => console.log(Item: ${item}));
// Map
console.log(sortedArray.map((item) => item * 2));
// import
import { SortedHash } from "keepitsortedstupid";
// initialize
var sortedHash:SortedHash = new SortedHash();
// BulkInsert
sortedHash.bulkInsert([[3, "Three"], [4, "Four"], [9, "Nine"], [10, "Ten"], [2, "Two"], [3, "Three"], [8, "Eight"]]);
// Insert
sortedHash.insert(6, "Six");
// Contains
console.log( Contains 9? ${sortedHash.contains(9)});
// FindIndex
console.log(Index for 4: ${sortedHash.findIndex(4)});
// ForEach
sortedHash.forEach((item) => console.log(Value: ${item}));
// ForEachWithKey
sortedHash.forEachWithKey((key, value) => console.log(Key: ${key} Value: ${value}));
// Map
console.log(sortedHash.map((item) => item * 2));
// MapWithKey
console.log(sortedHash.map((key, value) => value * 2));
`
$3
`javascript
// import
const kiss = require('keepitsortedstupid');
// initialize
var sortedArray = new kiss.SortedArray();
// BulkInsert
sortedArray.bulkInsert([3, 4, 9, 10, 2, 3, 8]);
// Insert
sortedArray.insert(6);
// Contains
console.log(Contains 9? ${sortedArray.contains(9)});
// FindIndex
console.log(Index for 4: ${sortedArray.findIndex(4)});
// ForEach
sortedArray.forEach((item) => console.log(Item: ${item}));
// Map
console.log(sortedArray.map((item) => item * 2));
// import
const kiss = require('keepitsortedstupid');
// initialize
var sortedHash = new kiss.SortedHash();
// BulkInsert
sortedHash.bulkInsert([[3, "Three"], [4, "Four"], [9, "Nine"], [10, "Ten"], [2, "Two"], [3, "Three"], [8, "Eight"]]);
// Insert
sortedHash.insert(6, "Six");
// Contains
console.log(Contains 9? ${sortedHash.contains(9)});
// FindIndex
console.log(Index for 4: ${sortedHash.findIndex(4)});
// ForEach
sortedHash.forEach((item) => console.log(Value: ${item}));
// ForEachWithKey
sortedHash.forEachWithKey((key, value) => console.log(Key: ${key} Value: ${value}));
// Map
console.log(sortedHash.map((item) => item * 2));
// MapWithKey
console.log(sortedHash.map((key, value) => value * 2));
``