Introduction
An array is a powerful data structure in JavaScript that allows us to store and keep a collection of multiple primitive data types (including objects themselves). With them, we can scale and build complex operations that are not possible with primitive data types (e.g., strings, numbers, Boolean, symbol).
Strings are immutable, however, arrays are mutable and can be modified. One of the ways to change an array is to delete some of its elements (in the collection).
In this article, we will discuss how to use the pop method in
JavaScript arrays.
The JavaScript array pop method
In JavaScript, the pop method allows us to remove the last element
from an array. In addition, it returns the element that has been removed
or undefined if there is no element within the array. Unlike other
methods such as slice that return new arrays, it changes the content
of the array.
Example-1: Remove last element from the JS Array
Let’s illustrate the actions of the pop method by creating a songs
array and using the pop method on it.
let songs = [
"attention",
"blinding lights",
"tell everybody",
"last last",
"unstoppable",
];
let removedSong = songs.pop();
console.log(songs, removedSong);
Output
[ 'attention', 'blinding lights', 'tell everybody', 'last last' ] unstoppable
As you can see, the pop method returns the element it removed from the
array, and the song array no longer contains unstoppable.
Example-2: Remove last n elements from JS Array
If we need to remove the last three elements within the array, we can
make use of for loop to remove such. To achieve this, we can define a
removeSongs function that has a default value of 1, and use the
typical for loop to iterate over the songs array and remove the last
element with every iteration. In addition, we can log every song that
has been removed because the pop method returns the element it
removes.
let songs = [
"attention",
"blinding lights",
"tell everybody",
"last last",
"unstoppable",
];
function removeSongs(number = 1) {
for (let index = 0; index < 3; index++) {
let removedSong = songs.pop();
console.log(
`This song - ${removedSong} - has been removed from your library.`
);
}
}
removeSongs(3);
console.log(songs);
Output
This song - unstoppable - has been removed from your library.
This song - last last - has been removed from your library.
This song - tell everybody - has been removed from your library.
[ 'attention', 'blinding lights' ]
You can also work with non-array objects, but the object needs to
contain length property as the pop method reads the property. So,
the property at the length-1 is returned and removed from the object.
const nonArrayObj = {
length: 4,
unrelated: "foo",
3: "three",
};
console.log(Array.prototype.pop.call(nonArrayObj));
console.log(nonArrayObj);
Output
three
{ length: 3, unrelated: 'foo' }
In the above code, the nonArrayObj object contains three properties,
but the important property is the length property. The pop method
will subtract 1 from the length property which gives 3, and will
then go to the property named 3 and return (”three”) and remove it
from the object.
Summary
If you want to delete an element in the last position within an array,
you can use the pop method, however, if you want to remove the first
element, you might need to check out the shift method.
References
Array - JavaScript | MDN
(mozilla.org)
Array.prototype.pop() - JavaScript | MDN
(mozilla.org)
Array.prototype.shift() (mozilla.org)

