Javascript – Get the last item in an array

arraysjavascript

Here is my JavaScript code so far:

var linkElement = document.getElementById("BackButton");
var loc_array = document.location.href.split('/');
var newT = document.createTextNode(unescape(capWords(loc_array[loc_array.length-2]))); 
linkElement.appendChild(newT);

Currently it takes the second to last item in the array from the URL. However, I want to do a check for the last item in the array to be "index.html" and if so, grab the third to last item instead.

Best Answer

Update 13 July 2021

The new at() method allows you to use negative indices to mean "from the end".

You can access the last item of locArray like this:

if (locArray.at(-1) === 'index.html') {
   // do something
} else {
   // something else
}

At time of update, the at() method is supported in Chrome 92+, FireFox 90+, Node 16 and Deno 1.12+

Older answer

if (loc_array[loc_array.length - 1] === 'index.html') {
   // do something
} else {
   // something else
}

In the event that your server serves the same file for "index.html" and "inDEX.htML" you can also use: .toLowerCase().

Though, you might want to consider doing this server-side if possible: it will be cleaner and work for people without JS.