今天在浏览技术文章时发现JavaScript数组竟然还有 at() 方法。一番研究之后觉得比较有意思,和大家分享一下。

javascript获取数组长度(JavaScript数组at)(1)

1.at的用法

at() 接收一个整数类型的参数,返回数组或字符串对应索引位置的元素。举个例子:

const arr = [1,2,3]; const ele = arr.at(0); console.log(ele); // 1

相信大家看到这里就不明白了,这和直接用索引获取有什么区别???

at和索引获取元素最大的区别是:at() 支持负数索引。

有一个场景很适合 at 的这个特性,就是获取数组的最后一个元素。

const arr = [1,2,3]; const lastEle = arr[arr.length - 1]; const lastEleAt = arr.at(-1);

目前可以实现类似功能的方法还有 slice 和 pop。

const arr = [1,2,3]; const lastEleSlice = arr.slice(-1)[0]; const lastElePop = arr.pop();

pop 的缺点是会删除最后一个元素。

除了数组之外,字符串同样可以使用 at 方法。

const str = "123"; console.log(str.at(0)); // '1'

2.at的兼容性

由于是JavaScript新增的特性,目前仅部分浏览器的最新版本支持。比如chrome92版本。详细的兼容性情况如下图:

javascript获取数组长度(JavaScript数组at)(2)

你对这个新API有什么看法,欢迎在评论区留言。

欢迎点赞,评论,转发~

,