One of the most frequent operations we perform on an array is removing the last element. There are a few different ways to do this - but one of the most common is to use the pop()
method. Consider you have the following array:
let myArr = [ "🍎", "🍏", "🍐", "🍍" ];
To remove the last element, all we have to do is apply pop()
:
let myArr = [ "🍎", "🍏", "🍐", "🍍" ];
myArr.pop();
console.log(myArr); // [ "🍎", "🍏", "🍐" ]
Notice here that this removes the last element and modifies the original array. We have permanently changed the original array by using pop()
.
Another common method is to use the splice
method. Again, splice
will modify the original array, and works in much the same way. There is no real reason to use one over the other:
let myArr = [ "🍎", "🍏", "🍐", "🍍" ];
myArr.splice(-1);
console.log(myArr); // [ "🍎", "🍏", "🍐" ]
Finally, another way to accomplish this without changing the original array is to use slice
(not to be confused with splice
). slice()
differs from both pop()
and splice()
in that it makes a shallow copy of the original array. Removing the last element with slice
looks like this:
let myArr = [ "🍎", "🍏", "🍐", "🍍" ];
let newArr = myArr.slice(0, -1);
console.log(newArr); // [ "🍎", "🍏", "🍐" ]
console.log(myArr); // [ "🍎", "🍏", "🍐", "🍍" ]
Here, we store our sliced array in a new variable since and the original array remains unchanged. However, shallow copies have some quirks, such as sometimes leading to the original array changing - so it is not an independent copy. You can learn morea about shallow copies and how to create deep copies here.
You can also learn more about the slice method here.
Top comments (1)
If you want to mutate the original array, the simplest and most efficient way to remove the last item within it is to just shrink the array by reducing its
length
:It can also be used to remove more than just 1 item at a time: