HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
View in English Always switch to English
This feature is well established and works across many devices and browser versions. It’s been available across browsers since март 2022 г..
Метод at() принимает значение в виде целого числа и возвращает элемент массива с данным индексом. В качестве аргумента метод принимает положительные и отрицательные числа. При отрицательном значении отсчёт происходит с конца массива.
at()
const array1 = [5, 12, 8, 130, 44]; let index = 2; console.log(`An index of ${index} returns ${array1.at(index)}`); // Expected output: "An index of 2 returns 8" index = -2; console.log(`An index of ${index} returns ${array1.at(index)}`); // Expected output: "An index of -2 returns 130"
at(index)
index
Индекс (позиция) элемента возвращаемого элемента массива. При передаче отрицательного индекса применяется относительная индексация с конца массива; например, при использовании отрицательного числа, возвращаемый элемент находится путём обратного отсчёта с конца массива.
Элемент массива, соответствующий переданному индексу. Если переданный индекс не может быть найден, возвращает undefined.
undefined
Метод at() является эквивиалентом получения элементов массива с помощью квадратных скобок с использованием неотрицательного индекса. Например, array[0] и array.at(0) оба вернут первый элемент. Однако, при вычислении значения с конца массива, нельзя использовать array[-1] как в Python или R, потому что все значения внутри квадратных скобок трактуются буквально как строковые свойства. Из-за этого попытка обращения к -1 элементу будет прочитана как array["-1"], что является нормальным строковым значением, а не индексом массива.
array[0]
array.at(0)
array[-1]
array["-1"]
Обычной практикой является получении числа элементов массива length и последующее вычисление значения индекса — например, array[array.length - 1]. Метод at() разрешает относительную индексацию, поэтому может быть сокращено до array.at(-1).
length
array[array.length - 1]
array.at(-1)
Метод at() — это generic. Он ожидает только, что значение this будет иметь свойство length и свойства с числовыми ключом.
this
В следующем примере представлена функция, которая возвращает последний элемент переданного массива
// Массив со значениями const cart = ["apple", "banana", "pear"]; // Функция, которая возвращает последний элемент переданного массива function returnLast(arr) { return arr.at(-1); } // Получить последний элемент нашего массива 'cart' const item1 = returnLast(cart); console.log(item1); // Выведет: 'pear' // Добавить элемент в наш массив 'cart' cart.push("orange"); const item2 = returnLast(cart); console.log(item2); // Выведет: 'orange'
В этом примере сравниваются разные способы выбора предпоследнего элемента массива. Хотя все приведённые ниже способы являются допустимыми, наиболее кратким и наглядным является использование метода at().
массива
// Наш массив с элементами const colors = ["red", "green", "blue"]; // Использование свойства 'length' const lengthWay = colors[colors.length - 2]; console.log(lengthWay); // Выведет: 'green' // Использование метода slice(). Обратите внимание, что возвращается массив const sliceWay = colors.slice(-2, -1); console.log(sliceWay[0]); // Выведет: 'green' // Использование метода at() const atWay = colors.at(-2); console.log(atWay); // Выведет: 'green'
Метод at() считывает свойство length для значения this и вычисляет индекс для обращения.
const arrayLike = { length: 2, 0: "a", 1: "b", }; console.log(Array.prototype.at.call(arrayLike, -1)); // "b"
Enable JavaScript to view this browser compatibility table.
Array.prototype.at
core-js
Array.prototype.find()
Array.prototype.includes()
Array.prototype.indexOf()