В этом руководстве вы узнаете, как использовать метод JavaScript Array at()
для возврата элемента массива по индексу.
В JavaScript вы можете использовать квадратную скобку []
для доступа к элементу массива. Например, arr[0]
возвращает первыйarr
, arr[1]
возвращает второй элемент и так далее.
Чтобы получить последний элемент массива, вы используете свойство length
следующим образом:
arr[length-1]
JavaScript не позволяет вам использовать отрицательный индекс для доступа к последнему элементу, как другие языки, например, Python. Например, следующий код возвращает undefined:
arr[-1]
Причина в том, что JavaScript также использует квадратные скобки []
для доступа к свойству объекта.
Например, obj[1]
возвращает свойство объекта obj
с ключом "1"
. Следовательно, obj[-1]
возвращает свойство объекта с ключом "-1"
.
В приведенном выше примере arr[-1]
возвращает свойство объекта arr
с ключом "-1"
. Обратите внимание, что тип массива — object
. Поскольку свойство "-1"
не существует в объекте arr
, оно возвращает значение undefined
.
По этой причине ES2022 представил новый метод at()
, добавленный к prototype
Array
, String
и TypeArray.
В этом руководстве основное внимание уделяется методу at()
класса Array.prototype
.
Метод at()
принимает индекс и возвращает элемент по этому индексу. Синтаксис:
arr.at(index)
В этом синтаксисе index
указывает возвращаемый элемент массива. Он может быть нулевым, положительным или отрицательным.
Если индекс равен нулю или положителен, метод at()
работает как []
.
Однако, если вы используете отрицательный индекс, метод возвращает элемент с конца массива. Например, arr.at(-1)
возвращает последний элемент, arr.at(-2)
возвращает предпоследний элемент и так далее.
Пример
В следующем примере показано, как использовать метод at()
для возврата элемента массива:
const scores = [5, 6, 7]; console.log(scores.at(1)); // same as scores[1] // get the last element console.log(scores.at(-1)); // 7 console.log(scores.at(-1) === scores[scores.length - 1]); // true
Выход:
6 7 true
Заключение
- Используйте метод
at()
для возврата элемента массива по индексу. - Метод
at()
в Джаваскрипт с отрицательным индексом вернет элемент с конца массива.