Кратко
СкопированоМетод at возвращает значение элемента массива по указанному индексу. Индекс может быть как положительным, так и отрицательным. Отрицательный индекс используется для отсчёта от последнего элемента массива.
Пример
СкопированоПолучим последний элемент массива:
const beatles = ['Джон', 'Пол', 'Джордж', 'Ринго']console.log(beatles.at(3))// Ринго
const beatles = ['Джон', 'Пол', 'Джордж', 'Ринго']
console.log(beatles.at(3))
// Ринго
Получим последний элемент массива, используя отрицательный индекс:
const beatles = ['Джон', 'Пол', 'Джордж', 'Ринго']console.log(beatles.at(-1))// Ринго
const beatles = ['Джон', 'Пол', 'Джордж', 'Ринго']
console.log(beatles.at(-1))
// Ринго
Как пишется
СкопированоArray принимает один аргумент — индекс искомого элемента в массиве.
Индекс элемента может быть:
- положительный — для доступа к элементам от начала массива. Например,
0— индекс первого элемента; - отрицательный — для доступа к элементам с конца массива. Например,
-1— индекс последнего элемента,-2— предпоследнего и т. д.
Array возвращает значение элемента.
Как понять
СкопированоОбычно для получения значения элемента массива по индексу используется скобочная запись:
const elements = ['ветер', 'туман', 'и', 'снег']console.log(elements[1])// туман
const elements = ['ветер', 'туман', 'и', 'снег']
console.log(elements[1])
// туман
В случае, когда индекс элемента положительный, метод at соответствует применению скобочной записи:
const elements = ['ветер', 'туман', 'и', 'снег']console.log(elements.at(1) === elements[1])// true
const elements = ['ветер', 'туман', 'и', 'снег']
console.log(elements.at(1) === elements[1])
// true
Однако для получения последнего элемента массива скобочная запись может быть неудобной, если неизвестен индекс элемента от начала массива. Получаем последний элемент, используя традиционный подход:
const hobbits = ['Фродо', 'Сэм', 'Перегрин', 'Бильбо']const lastIndex = hobbits.length - 1console.log(hobbits[lastIndex])// Бильбо
const hobbits = ['Фродо', 'Сэм', 'Перегрин', 'Бильбо']
const lastIndex = hobbits.length - 1
console.log(hobbits[lastIndex])
// Бильбо
В этом случае предпочтительнее использовать метод at, который поддерживает отрицательные индексы для отсчёта от последнего элемента массива. Получаем последний элемент массива:
const hobbits = ['Фродо', 'Сэм', 'Перегрин', 'Бильбо']console.log(hobbits.at(-1))// Бильбо
const hobbits = ['Фродо', 'Сэм', 'Перегрин', 'Бильбо']
console.log(hobbits.at(-1))
// Бильбо
Поддержка метода at в основных браузерах и в Node.js появилась сравнительно недавно. Например, попытка использовать at в Node.js v.14.18.3 приведёт к ошибке:
const array = ['ночь','улица','фонарь']try { console.log(array.at(4))} catch (err) { console.log('Поймали ошибку! Вот она: ', err.message)}// Поймали ошибку! Вот она: array.at is not a function
const array = ['ночь','улица','фонарь']
try {
console.log(array.at(4))
} catch (err) {
console.log('Поймали ошибку! Вот она: ', err.message)
}
// Поймали ошибку! Вот она: array.at is not a function
- Chrome 92, поддерживается
- Edge 92, поддерживается
- Firefox 90, поддерживается
- Safari 15.4, поддерживается