An implementation of static trie using double array. Currently, only string keys and int32 values are supported.
npm install
npm test
See test/js-double-array-trie.test.ts
import Trie from "js-double-array-trie" // construction let keys = ["abra", "ab", "cab", "cabaa", "abda"]; let values = new Int32Array([300, 500, 400, 0, 200]); let trie = Trie.create(keys, values); // lookup trie.get("abra"); // -> 300 trie.get("abracadabra"); // -> undefined trie.get("a"); // -> undefined // prefix search trie.prefixSearch("abracadabra"); // -> [{ value: 500, match: "ab" }, { value: 300, match: "abra" }] trie.prefixSearch("abba"); // -> [{ value: 500, match: "ab" }] trie.prefixSearch("a"); // -> [] // serialization with snappy compression (returns Uint8Array) let data = trie.serialize(true); // deserialization with snappy decompression let trie2 = Trie.deserialize(data, true); trie2.prefixSearch("abracadabra"); // -> [{ value: 500, match: "ab" }, { value: 300, match: "abra" }]