Метод массива Array at() в JavaScript

В этом руководстве вы узнаете, как использовать метод 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() для возврата элемента массива:

Пример метода JavaScript Array 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() в Джаваскрипт с отрицательным индексом вернет элемент с конца массива.
Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript