Как взять последний элемент массива js

Используя возможности JavaScript, последний элемент массива можно найти с помощью метода Array.prototype.at():
Посмотрим на пример:
Для нахождения последнего элемента в массиве укажите в скобках -1.
Такой метод доступен начиная с Node 16.6
Документация:
- Array.prototype.at()

arr.slice(-1) //как вариант

Если необходимо получить значение последнего элемента массива, то это можно сделать просто обратившись по индексу. Индексом будет длина массивам минус один:
Есть встроенный метод pop() , который извлекает последний элемент из массива и при этом удаляет этот элемент в исходном массиве:
How to Get the Last Item in an Array in JavaScript

When you’re programming in JavaScript, you might need to get the last item in an array. In this tutorial, we’ll go over two different ways to do this.
How to Get the Last Item in a JavaScript Array
Method 1: Use index positioning
Use index positioning if you know the length of the array.
Let’s create an array:
Here we can see that the last item in this array is horse.
To get the last item, we can access the last item based on its index:
const finalElement = animals[2] ;
JavaScrip arrays are zero-indexed. This is why we can access the horse element with animals[2]. If you aren’t sure on what zero-indexed means, we’ll go over it later on in this tutorial.
This method of getting the final item in the array works if you know the length of the array.
But what if you don’t know the length of the array? This array, animals , is very small. But you could have another array that has dozens of items in it, and you might not know its length.
Method 2: When you don’t know the array length
To get the last item in an array when you don’t know the length of that array:
const lastItem = animals[animals.length — 1] ;
The lastItem variable now holds the value of horse.
Let’s break down what’s happening in the above line. First of all, let’s just console log animals.length:
If you aren’t familiar with the length property, it returns the length of this array. This prints out 3 , because there are 3 items in the array.
Earlier we learned that JavaScript arrays are zero-indexed. This just means that in JavaScript arrays, you start counting from zero instead of from one. We can see this by looking at our animals array. cat is at index 0 , dog is at index 1 , and horse is at index 2 .
You might still be confused. We just learned that animals.length will tell us how many items are in an array. We also learned that with JavaScript arrays, we start counting from zero instead of one. But how does this help explain why we can get the last item in this array by using animals[animals.length — 1]?
Let’s imagine for a moment that JS arrays were not zero-indexed, and we started counting from 1, which is the way we normally count things in the real world.
With the animals array, we could quickly start counting and say that cat , the first item, has an index of 1, dog has an index of 2 , and horse has an index of 3 . The key insight here is that, in one-based indexing, the index of the last item is the length of the array. If the array has a length of 3, you know that the last element in the array has an index of 3 . So animals[3] would evaluate to horse .
Yet JavaScript arrays start from 0. So if we want to figure out the index of the last item in a JavaScript array, we can subtract 1 from the length of the array:
Inside of the brackets, animals.length — 1 evaluates to 2 . We now have the last item in the array.
In this article, we’ve learned two methods for how to get the last item in a JavaScript array.
Thank you for reading!
If you enjoyed this post, join my coding club, where we tackle coding challenges together every Sunday and support each other as we learn new technologies.
If you have feedback or questions on this post, or find me on Twitter @madisonkanna.
Array.prototype.at()
Метод at() принимает значение в виде целого числа и возвращает элемент массива с данным индексом. В качестве аргумента метод принимает положительные и отрицательные числа. При отрицательном значении отсчёт происходит с конца массива.
Интерактивный пример
Синтаксис
Параметры
Индекс (позиция) элемента возвращаемого элемента массива. При передаче отрицательного индекса применяется относительная индексация с конца массива; например, при использовании отрицательного числа, возвращаемый элемент находится путём обратного отсчёта с конца массива.
Возвращаемое значение
Элемент массива, соответствующий переданному индексу. Если переданный индекс не может быть найден, возвращает undefined .
Описание
Метод at() является эквивиалентом получения элементов массива с помощью квадратных скобок с использованием неотрицательного индекса. Например, array[0] и array.at(0) оба вернут первый элемент. Однако, при вычислении значения с конца массива, нельзя использовать array[-1] как в Python или R, потому что все значения внутри квадратных скобок трактуются буквально как строковые свойства. Из-за этого попытка обращения к -1 элементу будет прочитана как array[«-1»] , что является нормальным строковым значением, а не индексом массива.
Обычной практикой является получении числа элементов массива length и последующее вычисление значения индекса — например, array[array.length — 1] . Метод at() разрешает относительную индексацию, поэтому может быть сокращено до array.at(-1) .
Метод at() — это generic. Он ожидает только, что значение this будет иметь свойство length и свойства с числовыми ключом.
Примеры
Возврат последнего элемента массива
В следующем примере представлена функция, которая возвращает последний элемент переданного массива
Сравнение методов
В этом примере сравниваются разные способы выбора предпоследнего элемента массива . Хотя все приведённые ниже способы являются допустимыми, наиболее кратким и наглядным является использование метода at() .
Вызов at() в массивоподобных объектах
Метод at() считывает свойство length для значения this и вычисляет индекс для обращения.
JavaScript: получить последний элемент в списке

Получение последнего элемента списка / массива — обычная операция. В этом руководстве мы рассмотрим, как получить последний элемент в массиве / списке JavaScript.
JavaScript — это слабо типизированный или нетипизированный язык, что означает, что тип переменной не нужно объявлять перед ее использованием, поскольку JavaScript определяет тип, считывая значение переменной.
var x = «something» оценивается и x присваивается типу String. Тот же процесс применяется к спискам — вам не нужно определять тип списка, вы можете просто заполнить список значениями.
Список определяется путем помещения элементов между квадратными скобками ( [] ), где элементы могут быть разнородными (не обязательно одного типа):
В JavaScript есть множество встроенных методов, которые можно использовать для управления списками, подобными этому.
Получить последний элемент, используя длину
Атрибут length из списка обозначает количество элементов в списке:
Индексирование элементов в массивах / списках в JavaScript очень похоже на другие языки. Мы можем получить доступ к элементу на основе его индекса, передав его в квадратных скобках [] , ссылаясь на массив. Последний элемент имеет индекс length-1 .
Поскольку поле length просто возвращает сохраненное значение элементов — это быстрая, эффективная и дешевая операция. Лучший способ получить последний элемент массива / списка JavaScript:
Получить последний элемент с помощью pop()
Метод pop() возвращает последний элемент коллекции, но удаляет его из коллекции. Однако, если мы используем оператор распространения из ES6 — мы можем избежать этой функции, временно скопировав список в память и выполнив операцию pop() с копией, сохранив исходный список нетронутым.
Метод *pop()`
Пусть pop() это последний элемент из списка:
Это приводит к тому, что список урезается (последний элемент выризается из исходной коллекции):
Если вам не нужно, чтобы исходный список оставался неизменным, вы можете извлекать из него элементы, но если вам действительно нужен оригинал, вы можете сделать копию и pop() из него.
pop() с оператором распространения ES6
ES6 — это сокращение от EcmaScript6, который представляет собой стандарт JavaScript, используемый для упрощения программирования на JavaScript (меньше кодировать, но делать больше).
Он был основан еще в 1997 году, и его первый крупный прорыв произошел в 2015 году со стандартом ES6 (или EcmaScript2015). Последняя версия — 11-я, разработанная в 2020 году. Все версии предназначены для упрощения кодирования в JavaScript (с новыми правилами синтаксиса, новыми ключевыми словами и т.д.).
Функция, которую мы можем здесь использовать, — это оператор распространения ( . ) .
Помимо других функций, оператор распространения может копировать списки / массивы:
Это создает новый список с теми же элементами, что и myList . При этом мы можем выполнить pop() из нового списка вместо исходного:
Примечание: это может быть удобно для написания, но это не самое дешевое решение, поскольку оно копирует список. Для небольших списков это не сильно снижает производительность, но для более длинных списков это неэффективный способ просто получить последний элемент.
Получить последний элемент с помощью slice()
В методе slice(a, b) массив нарезается на отрезки от точки a к точке b-1 — при условии, что a и b целые числа. С математической точки зрения, вы можете посмотреть на срез следующим образом: [a, b) — элемент a включен, а элемент b — нет:
В результате получается фрагмент исходного массива:
Этот метод slice() также принимает отрицательную индексацию, где он выполняет итерацию по коллекции в обратном порядке. Итак, если мы выполним slice(-4, -1) , итерация начнется с третьего элемента сзади и закончится на уровне, предшествующем последнему (потому что slice не включает точку b ).
Это позволяет нам просто включить один последний элемент из конца списка с помощью slice() :
Это все еще массив, поэтому, чтобы получить этот элемент, мы получаем к нему доступ с помощью myList.slice(-1)[0] — который вернет наш элемент:
Примечание: slice() лучше всего использовать, когда вы хотите получить последние N элементов массива, а не один, поскольку вы можете просто использовать вместо них length-1 .
Получить последний элемент с помощью reverse()
Метод reverse() меняет список на месте. Последний элемент станет первым, и наоборот:
Теперь наш элемент является первым, поэтому мы можем получить к нему доступ с помощью myListReversed[0] .
Примечание. Обращение массива / списка также является потенциально очень дорогостоящей операцией. Избегайте реверсирования коллекции, если единственное, что вы хотите сделать, — это получить доступ к последнему элементу. Если вы все равно хотите отменить его — вы можете получить доступ к элементу следующим образом. Если нет, обратитесь к первому подходу к использованию length-1 .
Заключение
Самый дешевый, эффективный и, вероятно, самый интуитивно понятный из них — первый — myList[myList.length()-1] . Это то, что вы будете использовать большую часть времени.
Использование pop() удаляет элемент из списка и возвращает его. Если вы хотите удалить элемент — это подход, который вы захотите использовать, иначе вам придется удалить элемент вручную.
slice() дает нам срез, что является отличным подходом, если мы хотим получить последние N элементов.
reverse() переворачивает массив на месте, и этого следует избегать, если вы просто хотите получить элемент. Однако, если вы все равно меняете массив, это не требует дополнительных затрат.