DEV Community

Cover image for How to get the last element of an Array in Javascript
Johnny Simpson
Johnny Simpson

Posted on • Originally published at fjolt.com

How to get the last element of an Array in Javascript

So you have a Javascript array, and you want to get the last element. Take this example, for instance:

let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
Enter fullscreen mode Exit fullscreen mode

This array has 4 items - and as you might know, to get any element within it, we can use the square bracket notation []. For example, to get the lighting bolt, we can use myArray[1]:

let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
console.log(myArray[1]) // ⚡️
Enter fullscreen mode Exit fullscreen mode

Since arrays start at an index of 0, the first element is actually myArray[0], and so on. So to get the last element of the array, we can use myArray.length - 1. This gets the length of the array (4), and subtracts 1, to take into consideration that arrays start counting at 0. Therefore, to get the last element of an array using the square bracket notation, we can do something like this:

let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
console.log(myArray[myArray.length-1]) // 🖇
Enter fullscreen mode Exit fullscreen mode

This is the most common way to get the last element of an array. However, you can also use the at method to do the same thing:

let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
console.log(myArray.at(myArray.length-1)) // 🖇
Enter fullscreen mode Exit fullscreen mode

And even better, you can simply write myArray.at(-1)! This greatly simplifies getting the last element of an array to a simple expression:

let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
console.log(myArray.at(-1)) // 🖇
Enter fullscreen mode Exit fullscreen mode

As you might expect, at starts counting backwards, so at(-2) will return the key:

let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
console.log(myArray.at(-2)) // 🔑
Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
kosm profile image
Kos-M

Nice!

Collapse
 
mathcoll profile image
Mathieu Lory

Another way to do it .. this way will change the input
let myArray = [ '🔩', '⚡️', '🔑', '🖇' ]
console.log(myArray.pop()) // 🔑