Please help and explain the problem and solution

Tell us what’s happening:

Your code so far


function LinkedList() {
var length = 0;
var head = null;

var Node = function(element){
  this.element = element;
  this.next = null;
};

this.size = function(){
  return length;
};

this.head = function(){
  return head;
};

this.add = function(element){
  var node = new Node(element);
  if(head === null){
      head = node;
  } else {
      var currentNode = head;

      while(currentNode.next){
          currentNode  = currentNode.next;
      }

      currentNode.next = node;
  }

  length++;
};

this.remove = function(element){
  // Only change code below this line
   let currentNode = head;
   let previous;
 if(currentNode.element===element ){
  
   head = currentNode.next

   if(position===0){
     head = currentNode.next;
   }else{
     while(currentNode.element !==element ){
       previous = currentNode ;
       currentNode = currentNode.next;
     }
     previous.next = currentNode.next;
   }
   length--;
   
 }

  // Only change code above this line
};
}

Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36.

Challenge: Remove Elements from a Linked List

Link to the challenge:
https://www.freecodecamp.org/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list