Array pop() in JavaScript

Mar 8, 2022

The pop() functions removes the last element from the array and returns the popped element. This function reduces the length of the array by 1, unless the array is empty.

const array = [1, 2, 3, 4, 5, 6];
array.pop(); // 6;
array; // 1, 2, 3, 4, 5

pop() returns undefined if the array is empty, like shift(). If the array is empty, pop() does not modify the length of the array.

const array = [1, 2, 3, 4, 5, 6];

array.length; // 6
array.pop(); // 6;
array.length; // 5

const emptyArray = [];
emptyArray.pop(); // undefined
emptyArray.length; // 0

Using an Array as a Stack

When used with shift(), pop() makes it easy to use an array as a stack. For example, here's how you can use an array as a stack when traversing a binary tree using depth-first search without recursion.

const tree = {
  left: {
    left: 'A',
    right: 'B'
  },
  right: {
    left: 'C'
  }
};

function traverse(tree) {
  const stack = [tree];
  let cur = tree;

  while (stack.length > 0) {
    const el = stack.pop();
    if (typeof el !== 'object') {
      if (el != null) {
        console.log(el);
      }
      continue;
    }

    stack.push(el.right);
    stack.push(el.left);
  }
};

// Prints "A B C"
traverse(tree);

Did you find this tutorial useful? Say thanks by starring our repo on GitHub!

More Fundamentals Tutorials