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-list
Class
Insert an item at the end of the list.
Parameters
item
any
Examples
list.insert(1)
list.insert('foo')
list.insert({ foo: 'bar' })
Insert an item after another one.
Parameters
ref
anyitem
any
Examples
list.insertAfter(1, 2)
list.insert('foo', 'bar')
list.insert(ref, { baz: 'qux' })
Insert an item at the given index.
Parameters
k
Numberitem
any
Examples
list.insertAt(1, 2)
list.insert(1, 'bar')
list.insert(1, { baz: 'qux' })
Remove an item.
Parameters
item
any
Examples
list.remove(1)
list.remove('foo')
list.remove({ foo: 'bar' })
Return true
if the item is in the list.
Parameters
item
any
Examples
list.has(1)
// => true
list.has('foo')
// => true
list.has(null)
// => false
Returns Boolean
Return the item at the given index or -1
.
Parameters
k
Number
Examples
list.at(0)
// => 1
list.at(1)
// => 'foo'
list.at(1337)
// => undefined
Returns 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()
// => 3
Returns Number
Iterate over the list.
Examples
for (let item of list) {
console.log(item)
}
// => 1
// => 'foo'
// => { foo: 'bar' }
MIT © Nicolas Gryman