# at 相对索引方法 - 查找元素

> 查找数组元素是Web前端开发过程中常见的任务，如：查找数组中符合条件的元素或其下标。通常会通过find与findIndex方法查找元素与下标进行相应处理；以及查找数组中第一个元素或最后一个元素又或某一位置元素。

Author: DeathGhost
Published: 2021-11-13 12:08:31
Category: javascript
Canonical: https://www.deathghost.cn/article/javascript/104
Keywords: at(), find(), findIndex(), findLast(), findLastIndex(), 数组, 字符串, 元素, 查找, 第一元素查找

使用find可以查找数组中的元素，findIndex可以查找元素的下标值（开始位置查找）；又或者后续支持的findLast与findLastIndex方法（末端查找）；不论开始位置还是末端位置查找，这些是根据条件查找符合条件的第一个元素值。

![at 相对索引方法 - 查找元素](https://static.deathghost.cn/post/2021/11/13/1636779704633489.jpg)

at 相对索引方法 - 查找元素

当你想获得数组中最后一个元素时，通常会这样：

array[array.length - N]
const arr = ['HTML', 'CSS', 'JavaScript', 'Angular'];
console.log(arr[arr.length - 1]);
// Angular
或者使用 slice() 方法获取

array.slice(-N)[0]
const arr = ['HTML', 'CSS', 'JavaScript', 'Angular'];
console.log(arr.slice(-1)[0]);
// Angular
最终均可获取所需值，但感觉还是比较麻烦；所以继续往下看。

## at 方法

array.at(-N)
负数则是从最后开始（-1），也支持正索引（0）。

同上示例，使用 at 方法获取末尾元素。

const arr = ['HTML', 'CSS', 'JavaScript', 'Angular'];
console.log(arr.at(-1));
// Angular
console.log(arr.at(-2));
// JavaScript
console.log(arr.at(-3));
// CSS
console.log(arr.at(-4));
// HTML
console.log(arr.at(-5));
// undefined

/** 正索引 */
console.log(arr.at(0));
// HTML
// ...
0 开始位置，-1 末尾开始位置；如果未找到则返回 undefined 。

## 字符串使用 at 方法

const str = 'Web前端 - 新码笔记';
str.at(1)
// e
项目开发过程中时常会遇到此类处理，这个方法小巧易记，希望对你有用。

## Related

- Previous: [Intl.NumberFormat数字格式化应用](https://www.deathghost.cn/article/javascript/92)
- Next: [告别低精度累加：JavaScript Math.sumPrecise() 完全解析](https://www.deathghost.cn/article/javascript/128)
