今天在浏览技术文章时发现JavaScript数组竟然还有 at() 方法。一番研究之后觉得比较有意思,和大家分享一下。
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 方法。
2.at的兼容性
const str = "123"; console.log(str.at(0)); // '1'
由于是JavaScript新增的特性,目前仅部分浏览器的最新版本支持。比如chrome92版本。详细的兼容性情况如下图:
你对这个新API有什么看法,欢迎在评论区留言。
欢迎点赞,评论,转发~
,