Whatever the programming language you code in ,I am sure you will be playing with arrays every day. So today we will be looking at options we can get the last element of an array in Javascript.
METHOD 1:INDEXING
When You know the lenght of the array:
Say we have the following array
var myArr = ['Apple', 'Orange', 3, 4, 'Football', 'Cricket'];
So as we know that arrays are zero-indexed in programming, which means that the first element is placed at zero position(Dont tell this to your non-programmer friend). So we just need to count the number of element in the array, which is six(6) in our case so
console.log(myArr[5])
will print the last element('cricket') for us. Easy Right. Now let's buckle up for the hard part.
METHOD 2:USING length FUNCTION
If the array is uncountable for human or coming as function argument than we can use javascript length function to get the last element. This will be like
console.log(myArr[myArr.length - 1])
myArr.length will give us the array lenght and 1 less from lenght will give the index of last element of the array.
METHOD 3: USING .pop() FUNCTION
We can get the last element of array with .pop() function like this
let last =myArr.pop()
console.log(last)
But there is a problem with this function as our array will be reduced to five items now as last element is popup out by the function. But if you were to use the array in your code again, you can have a copy of the array.
let myArray2 = myArr
let last =myArr.pop()
So now myArray2 have all the elements of original array and you can perform any task you want.
Top comments (18)
I think you are missing one of the methods that was added not too long ago.
Array.prototype.at()
. To get the last element in an array you can domyArr.at(-1)
.developer.mozilla.org/en-US/docs/W...
Oh Yes !!! Thank You. This pretty usefull and easy
While it’s a cool new method, keep in mind that currently it’s not supported in Safari based devices.
You can easily polyfill it:
This won't work with negative values.
In Safari Technology Preview you can activate it via
Develop > Experimental Features
A somewhat unusual way:
Using
console.log
inprod
is discouragedNaked flames in firework factories are discouraged too
Laugh all you want, but
console.log
can be abused by some threat actors very easily. I mean, output ofconsole.log
is not escaped ( or otherwise secured ) in any wayI'm not laughing, but your comment was entirely irrelevant. The
console.log
I used was simply used to display the result of some sample code - in a similar way to the way the original poster used it. No-one is suggesting in any way that it should be used in production code.OK. So imagine this:
How are web-enabled systems attacked? Of course there are many ways, but first and the most used one method of probing is through reverse engineering output of
console.log
.The console.log is for demonstration purposes, you can just do:
let myNewVar = last
and then return it or use it or whatever, the only bit that is of significance is:
const {length, [length-1]: last} = str
Which I am still processing as Jon always blows my mind with some weird syntax I haven't seen before (or more precisely have seen but don't use so have to then go and do a load of unpacking of his solution 🤣)!
@labspl - I'm not disagreeing with you, but - again - this is entirely irrelevant to the post, or to my original comment
@inhuofficial I aim to please :)
This is awesome
what you wrote at the end of the post, is not true.
It will not help to copy the array, because it only creates a reference to that array itself
Instead it is possible as follows