adict

Implementation of an OrderedDict data structure.

Usage no npm install needed!

<script type="module">
  import adict from 'https://cdn.skypack.dev/adict';
</script>

README

Adict – Ordered Dictionary

OrderedDict is a data structure that preservers order of inserted keys. And is a sub-class of a regular object/dictionary. In addition it provides couple of convenient methods to push elements to start or end of a dict.

As an example: this data structure can be used to implement LRU-cache.

let OrderedDict = require("adict");

let dict = new OrderedDict();

dict.set(1, 2);
  • Small 538b min and gzip
  • Zero dependencies
  • O(1) runtime complexity for all operations

API

OrderedDict

OrderedDict is a data structure that preservers order of inserted keys. And is a sub-class of a regular object/dictionary. Implementation is inspired by python's OrderedDict and this particular gist: https://gist.github.com/joequery/12332f410a05e6c7c949

Kind: class

let dict = new OrderedDict();

orderedDict.set(key, value) ⇒ OrderedDict

Add a new key-value pair to an ordered dict.

Kind: instance method of OrderedDict

Param Type
key string | number
value any

orderedDict.delete(key) ⇒ boolean

Delete a key from an ordered dict.

Kind: instance method of OrderedDict

Param Type
key string | number

orderedDict.clear() ⇒ undefined

Clear ordered dict.

Kind: instance method of OrderedDict

orderedDict.get(key) ⇒ any | undefined

Retrieve a key from an ordered dict.

Kind: instance method of OrderedDict

Param Type
key string | number

orderedDict.has(key) ⇒ boolean

Check if key exists in an ordered dict.

Kind: instance method of OrderedDict

Param Type
key string | number

orderedDict.pop() ⇒ undefined | any

Remove and return last element from an ordered dict.

Kind: instance method of OrderedDict

orderedDict.shift() ⇒ undefined | any

Remove and return first element from an ordered dict.

Kind: instance method of OrderedDict

orderedDict.toStart(key) ⇒ boolean

Move an existing element to the start of an ordered dict.

Kind: instance method of OrderedDict

Param Type
key string | number

orderedDict.toEnd(key) ⇒ boolean

Move an existing element to the end of an ordered dict.

Kind: instance method of OrderedDict

Param Type
key string | number

orderedDict.keys() ⇒ Iterator

Returns new Iterator object that contains all keys of an ordered dict.

Kind: instance method of OrderedDict

orderedDict.values() ⇒ Iterator

Returns new Iterator object that contains all values of an ordered dict.

Kind: instance method of OrderedDict

orderedDict.entries() ⇒ Iterator

Returns new Iterator object that contains all key-value pairs of an ordered dict.

Kind: instance method of OrderedDict

[private] LinkedListNode : Object

Kind: global typedef Properties

Name Type
value any
prev LinkedListNode | null
next LinkedListNode | null