Кратко
СкопированоМетод 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, поддерживается