A bit similar to a singly-linked list, a doubly-linked list is a linked list made of nodes, except that the nodes contain a third field with a link to the previous node as well as the next node.
The advantage of a doubly linked list is that we can traverse back to the previous node for deletion for example. The operations are bi-directional.
Node:
datastores the valuepreviouspoints to the previous node in the listnextpoints to the next node in the list
Operations:
_lengthheadtailadd(value)searchNodeAt(position)remove(position)
For details on how to implement doubly-linked lists in JavaScript, check out this article