# Use Bracket Notation to Find the Last Character in a String.. Why -1?

Tell us what’s happening:
I’m just confused on why you subtract one? What is the purpose… I’m lost and just trying to understand why

``````
// Example
var lastLetterOfFirstName = firstName[firstName.length - 1];

// Setup
var lastName = "Lovelace";

// Only change code below this line.
var lastLetterOfLastName = lastName;

``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36`.

Remember that the characters in a string are like the elements of an array. Like an array the elements start at zero. So “Ada” would be 3 characters in length, but because the index starts at zero the last character would be at position 2.

1 Like

Thanks for replying! Just double checking that I understand so…

1. Ada (A=0, d=1, a = 2)
3. 3-2=1 (This is where you get the -1)

Almost. Point #3 Length, which is 3 - 1 = 2.
The last letter in string “Ada” is in position 2. [0, 1, 2]

So, when you write: firstName[firstName.length - 1];
you are really saying: firstName[3 - 1] or firstName[2] which will be ‘a’

Typically, the term `string` is used to represent an array of characters… So the indices of characters in a string follow array like indices…

``````const string = 'Some String';`
``````

Will be represented in memory as

``````['S', 'o', 'm', 'e', ' ', 'S', 't', 'r', 'i', 'n', 'g']
[ 0 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10]
``````

Also `str.length` is 11.

Since indices start from 0 and length is 11, you last character is on 10th index. You last character’s index is always going to be 1 less that length of a string. Hence `str.length - 1`