A simply linked list data structure in JavaScript.
| Access | Search | Insertion | Deletion | |
|---|---|---|---|---|
| Average | Θ(n) |
Θ(n) |
Θ(1) |
Θ(1) |
| Worst | O(n) |
O(n) |
O(1) |
O(1) |
yarn add ds-linked-listClass
Insert an item at the end of the list.
Parameters
itemany
Examples
list.insert(1)
list.insert('foo')
list.insert({ foo: 'bar' })Insert an item after another one.
Parameters
refanyitemany
Examples
list.insertAfter(1, 2)
list.insert('foo', 'bar')
list.insert(ref, { baz: 'qux' })Insert an item at the given index.
Parameters
kNumberitemany
Examples
list.insertAt(1, 2)
list.insert(1, 'bar')
list.insert(1, { baz: 'qux' })Remove an item.
Parameters
itemany
Examples
list.remove(1)
list.remove('foo')
list.remove({ foo: 'bar' })Return true if the item is in the list.
Parameters
itemany
Examples
list.has(1)
// => true
list.has('foo')
// => true
list.has(null)
// => falseReturns Boolean
Return the item at the given index or -1.
Parameters
kNumber
Examples
list.at(0)
// => 1
list.at(1)
// => 'foo'
list.at(1337)
// => undefinedReturns any
Return an array containing all the items.
Examples
list.entries()
// => [ 1, 'foo', { foo: 'bar' }]Returns Array
Return a string representation of the list.
Examples
list.entries()
// => [ 1, 'foo', { foo: 'bar' }]Returns String
Return the number of items in the list.
Examples
list.length()
// => 3Returns Number
Iterate over the list.
Examples
for (let item of list) {
console.log(item)
}
// => 1
// => 'foo'
// => { foo: 'bar' }MIT © Nicolas Gryman
