Course

JavaScript Array pop() method: Syntax, Usage, and Examples

The pop() method in JavaScript removes the last element from an array and returns that element. It changes the original array by reducing its length by one. The JavaScript array pop method is often used when working with stacks, where the last item added is the first one removed (LIFO – Last In, First Out). Whether you’re managing undo operations, trimming arrays, or writing logic for custom data structures, array pop JavaScript techniques are both efficient and easy to implement.

How to Use JavaScript Array pop

Here’s the basic syntax:

jsx
array.pop()
  • Removes the last element in the array.
  • Returns that element.
  • Mutates the original array by decreasing its length by one.

Basic Example

jsx
let fruits = ["apple", "banana", "cherry"]; let lastFruit = fruits.pop(); console.log(lastFruit); // "cherry" console.log(fruits); // ["apple", "banana"]

The last item is removed and returned. The array is updated in place.

When to Use the Array pop JavaScript Method

Stack-Based Data Structures

Stacks follow the Last In, First Out (LIFO) principle. You can build one easily using push and pop:

jsx
let stack = []; stack.push("first"); stack.push("second"); stack.push("third"); console.log(stack.pop()); // "third" console.log(stack); // ["first", "second"]

Trimming an Array

If you want to remove the last element conditionally or trim data:

jsx
let scores = [10, 20, 30, 40]; scores.pop(); console.log(scores); // [10, 20, 30]

This is helpful when cleaning up data or adjusting array length manually.

Reversing Actions

In undo functionality, pop() lets you remove the last operation from a history log:

jsx
let history = ["open", "edit", "save"]; let lastAction = history.pop(); console.log(lastAction); // "save" console.log(history); // ["open", "edit"]

Examples of JavaScript Array pop() in Practice

Removing the Last Element

jsx
let colors = ["red", "green", "blue"]; let removedColor = colors.pop(); console.log(removedColor); // "blue" console.log(colors); // ["red", "green"]

Using pop() Until the Array Is Empty

jsx
let stack = ["task1", "task2", "task3"]; while (stack.length > 0) { console.log("Processing:", stack.pop()); }

This loop continues until the array has no more elements.

pop with Array of Objects

jsx
let users = [ { id: 1, name: "Ana" }, { id: 2, name: "Ben" } ]; let lastUser = users.pop(); console.log(lastUser.name); // "Ben" console.log(users.length); // 1

Works the same way regardless of the type of element in the array.

Learn More About JavaScript Array pop()

What Happens on an Empty Array?

If you use pop() on an empty array, it returns undefined:

jsx
let empty = []; let result = empty.pop(); console.log(result); // undefined console.log(empty); // []

The method is safe to call without checking length first.

pop() vs shift()

  • pop() removes the last element.
  • shift() removes the first element.
jsx
let items = [1, 2, 3]; items.pop(); // [1, 2] items.shift(); // [2]

Choose based on whether you’re working from the end or the beginning.

Modifies the Original Array

Unlike methods like slice() or concat(), pop() changes the array in place.

jsx
let list = ["a", "b", "c"]; let result = list.pop(); console.log(result); // "c" console.log(list); // ["a", "b"]

This is important to remember when passing arrays to functions or managing shared data.

Using pop() in Conditional Statements

jsx
let messages = ["msg1", "msg2"]; if (messages.length > 0) { let latest = messages.pop(); console.log("Deleted:", latest); }

Always checking length before calling pop() helps avoid unnecessary undefined values.

Combining push and pop

jsx
let recentEdits = []; recentEdits.push("Edit 1"); recentEdits.push("Edit 2"); let undo = recentEdits.pop(); // "Edit 2"

This mirrors undo/redo logic in text editors, drawing apps, or form states.

pop() in Custom Functions

You can build custom functions using pop() to manage history, remove items, or simplify user flows.

jsx
function removeLastItem(arr) { if (arr.length === 0) return null; return arr.pop(); } let items = [100, 200, 300]; console.log(removeLastItem(items)); // 300

You control return behavior and error handling.

Accessing the Last Element Without Removing

If you want to check the last item but not remove it:

jsx
let things = ["pen", "pencil", "eraser"]; let lastItem = things[things.length - 1]; console.log(lastItem); // "eraser" console.log(things); // ["pen", "pencil", "eraser"]

Use this when you need to inspect without mutating.

pop() with Function Callbacks

jsx
let todos = ["task1", "task2", "task3"]; function completeTask(tasks) { const done = tasks.pop(); console.log("Completed:", done); } completeTask(todos); // "Completed: task3"

Use this pattern for modular logic in task queues or process flows.

Edge Case: Using pop() on Strings (Incorrect)

jsx
let name = "John"; name.pop(); // ❌ This will throw an error

Strings are not arrays. Only arrays support pop(). Use slice() or convert the string to an array if needed:

jsx
let chars = name.split(""); chars.pop(); console.log(chars.join("")); // "Joh"

The JavaScript array pop method is a powerful way to remove and retrieve the last element of an array. It plays a central role in stack behavior, array manipulation, and undo patterns. Whether you’re managing user actions, trimming results, or simplifying data processing, knowing when and how to use array pop JavaScript operations makes your code more predictable and efficient.