Remove Elements from a Linked List

Tell us what’s happening:

Why am I failing the tester? It says that currentNode is not defined.

Your code so far


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

  var Node = function(element){ // {1} 
    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 {
        currentNode = head;

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

        currentNode.next = node;
    }

    length++;
  }; 

  this.remove = function(element){
    var currentNode = head;
    var previousNode;
    if(currentNode.element === element){
        head = currentNode.next;
    } else {
        while(currentNode.element !== element) {
            previousNode = currentNode;
            currentNode = currentNode.next;
        }

        previousNode.next = currentNode.next;
    }

    length --;
  };

  // Only change code below this line

  // Only change code above this line
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36.

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

Your code is correct.

The test is running the add method to set up the test and is encountering and error there. The error:

// running test
currentNode is not defined
currentNode is not defined
currentNode is not defined
// tests completed

When I change line 23 (in the add method) to:

       var currentNode = head;

It passes. It was failing because currentNode was being used in the add method but was never defined. It is a mistake in the problem code and not your fault. I’ll add it to the list of things that need to be changed.

1 Like

This challenge is still missing the currentNode definition. You will find the same issue on the: Search within a Linked List example (on line 23). Not sure if this is the place to report this.
Thanks!!

Edit Same thing on Remove Elements from a Linked List by Index
**Edit_2 ** Same on Add Elements at a Specific Index in a Linked List (a bad copy-paste)

Problem still exists. The kevinSmith solution works.

It is tremendously frustrating to fail because the site has an error, despite student code being functional. :disappointed: