So for searching element is slow. If we want to random access any element then arrays are the best choice else we can probably use linked list anywhere an array can be used. The data elements or nodes are linked using pointers, hence called a linked list. There are many examples of linked list in real life like. Implementing a Linked List in JavaScript So, how do we go about implementing a linked list in JavaScript? There are two ends to the linked list head and tail. If the element is at the beginning of the list then just simply update the head to point to the next element in the list. Linked List Drawbacks: 1) Random access is not allowed. We will check if head is empty then assign the current node to it, else add the node as a reference of the next element to the previous node. If we are adding the element at the beginning i.e at the head, then just simply assign the existing list to the new node. Arrays in most programming languages are of fixed length, so it is really not easy to store data beyond its size. We don’t have to shift elements while adding or removing element from the middle of the list. We will use a Node which will be storing the element and the reference to the next element. Posted on June 14, 2019 | by Prashant Yadav. A data element can be represented as a node in a linked list. We will be using two different classes, one for node and another one for linked list. Every time we need to search for any data in the list we will need iterate from the start or (Head) till the desired element. Priority Queue Implementation in javascript, Implement deque data structure in javascript, Deque data structure with doubly linked list, Doubly linked list implementation in javascript. Unlike arrays, data elements are not stored at contiguous locations. We will see why we need to use linked list over arrays and implement an object based linked list data structure in javascript. Now I am sure you have got a good idea about what is a linked list so lets start implementing it in javascript. We will be storing the reference to the next element, so we need to pay extra attention to make things work properly. 2) Extra memory space for a link is required for each element of the list. We will use modern ESNext features and implement the linked list with function as well as with Class. Oleksii Trekhleb’s brilliant JavaScript Algorithms repository has a good implementation. In javascript, arrays are flexible but they are not efficient. Arrays are the most common data structures that are used to store collection of data. If we are adding the element in the middle of the list then we will need to iterate till the given position and then make the current node to point to the new node and new node to point at the next node. We can dynamically increase the size of the list and store any amount of data. Linked list stores the collection of data, but unlike arrays data are not stored in contagious memory, instead each element in the linked list consists of a node which stores the data and a reference(pointer or link) to the next element. Have a look at the following figure for better understanding. We must access nodes sequentially starting from the first one. Each node consists of two parts: data & pointer to the next node. Removing the element from the tail will remove the last element from the linked list. Also adding and removing element in the middle of the array is expensive because we have to shift all the other elements in the array. Else we will have to iterate in the list and make the previous node of the element at the given position to point to the next node of the element. A linked list is an ordered collection of data elements. We will be storing the reference to the next element, so we need to pay extra attention to make things work properly. We will be returning the zero based index for linked list elements just like arrays, If element is not present then we will return -1. They are just. Examples of linked list. There are many examples of linked list in real life like. We can store any type of data in linked list in javascript but here we are only finding the data for String and Numeric type. We will concatenate all the elements of the list together and return them as a string. Every time we need to search for any data in the list we will need iterate from the start or (Head) till the desired element. Removing the element from the head will remove the first element from the linked list. We will push all the elements of the list to the array and return it. Therefore, we cannot do a binary search on a linked list.