LinkedListElement

Linked list element class, contains data node and next pointer (element).

new LinkedListElement()
Example
var elem = new LinkedListElement(15);
var elem2 = new LinkedListElement(30, elem);
console.log(elem2.next.data); // 15
Instance Members
next

toJSON

Converts current element and all next elements in json format.

toJSON
Returns
LinkedListElementStruct<T>: valid json object.
Example
var elem = new LinkedListElement(30);
var elem2 = new LinkedListElement(15, elem);
elem2.toJSON(); // =>
{
 "data": 15,
 "next": {
   "data": 30,
   "next": null
 }
}

toJSON

Returns javascript root object form of the linked list.

toJSON
Returns
LinkedListElementStruct<T>: Returns javascript root object form of the linked list.
Example
var lList = new LinkedList(1);
lList.push(2);
lList.toJSON(); // => { data: 1, next: { data: 2, next: null } }

toString

Converts current element and all next elements in string format.

toString
Returns
string: valid string.
Example
var elem = new LinkedListElement(30);
var elem2 = new LinkedListElement(15, elem);
elem2.toString(); // => 1530

toString

Returns string form of the linked list.

toString
Returns
string: Returns string form of the linked list.
Example
var lList = new LinkedList(1);
lList.push(2);
lList.toString(); // => "12"

LinkedList

Main Linked List class, contains start node and basically the whole list.

new LinkedList()
Example
var lList = new LinkedList(10);
lList.insert(20);
lList.insert(30);
lList.delete(30);
lList.toArray(); // => [10,20]
Instance Members
length
iterator
reduce

insert

Inserts the given element at the end of the Linked List.

insert
Parameters
item (T) New element to be inserted.
Returns
LinkedListElement<T>: newly added element instance.
Example
var lList = new LinkedList(30);
lList.insert(15);
lList.insert(60);

push

Pushes the given element at the end of the Linked List.

push
Parameters
item (T) New element to be pushed.
Returns
LinkedListElement<T>: newly added element instance.
Example
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);

delete

Deletes the given element if present and returns element instance otherwise returns null.

delete
Parameters
item (T) New element to be pushed.
Returns
(LinkedListElement<T> | null): Returns deleted elemnt or null.
Example
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
elem.delete(15); // => { data: 15, next: null }
elem.delete(50); // null

pop

Removes last element in the linked list and returns it.

pop
Returns
(LinkedListElement<T> | null): Returns deleted elemnt or null.
Example
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
elem.pop(15); // => { data: 15, next: null }
elem.pop(60); // null

has

Checks for given item in the entire list and returns true if available.

has
Parameters
item (T) New element to be checked.
Returns
boolean: newly added element instance.
Example
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
elem.has(15); // true
elem.has(50); // false

traverse

Traverses the whole list and calls given callback function for each element.

traverse
Returns
void: Returns undefined.
Example
var dataPrinter = (el) => { console.log(el.data); };
var lList = new LinkedList(15);
lList.insert(30);
lList.traverse(dataPrinter); // => 15...20

entries

Returns an iterable of key, value pairs for element in the Linked List.

entries
Returns
IterableIterator<[number, T]>: Iterables of index keys and values.
Example
var lList = LinkedList.fromArray([1, 2, 3]);
for (const [index, item] of lList.entries()) {
  console.log(index, item); // => 0 1...1 2...2 3
}

each

Traverses the whole list and calls given callback function for each element.

each
Returns
void: Returns undefined.
Example
var dataPrinter = (el) => { console.log(el.data); };
var lList = new LinkedList(15);
lList.insert(30);
lList.each(dataPrinter); // => 15...20

forEach

Traverses the whole list and calls given callback function for each element.

forEach
Returns
void: Returns undefined.
Example
var dataPrinter = (el) => { console.log(el.data); };
var lList = new LinkedList(15);
lList.insert(30);
lList.forEach(dataPrinter); // => 15...20

map

Maps current linked list values to a new linked list with modifying the values using given callback function. Uses BFS.

map
Returns
LinkedList<T>: A newly mapped linked list.
Example
var lList = LinkedList.fromArray([10, 20, 30, 40]);
var lList2 = lList.map(n => n * 2);
var arr2 = lList2.toArray(); // [20, 40, 60, 80]

filter

Filters each item based on given filter function and returns new linked list. If no value is filtered then returns null.

filter
Returns
(LinkedList<T> | null): New filtered instance of tree or null.
Example
var lList = LinkedList.fromArray([10, 20, 30, 40]);
var lList2 = lList.filter(n => !!(n % 4 === 0));
var arr2 = lList2.toArray(); // [20, 40]

get

Returns element at given location.

get
Parameters
index (number) Index to find the element.
Example
var lList = new LinkedList(15);
lList.insert(30);
lList.insert(45);
lList.get(2); // => 45

toArray

Returns array form of the linked list.

toArray
Returns
Array<T>: Returns array form of the linked list.
Example
var lList = new LinkedList(1);
lList.push(2);
lList.push(3);
lList.toArray(); // => [1, 2, 3]

fromArray

A static method, Creates a Linked List instance from given array.

fromArray(array: Array<T>): LinkedList<T>
Parameters
array (Array<T>) Array of elements.
Returns
LinkedList<T>: Returns new linked list instance with all elements in array.
Example
var lList = LinkedList.fromArray([1, 2, 3]);
lList.length; // => 3