本文介绍了js中数组的at函数。是一篇比较简单的科普文章,难度不大。0x00首先,我们可以思考下面的问题,如果我们想得到一个数组的最后一个元素(这是一个很常见的操作),我们应该怎么做呢?相信大部分人能想到的代码是这样的:letlast=array[array.length-1];好吧,这是获取数组最后一个元素的最常用方法,依此类推获取倒数第二个元素,第三个元素以类似方式获取。当然除了这种方式,还有其他的方式,比如:让last=array.slice(-1)[0]先通过slice获取下一个元素的数组,再通过下标0获取最后一个元素.比如pop获取最后一个元素:letlast=array.pop()但是数组本身会被pop改变,所以一般不推荐。0x01不管上面那种方法,感觉都很繁琐。这让人羡慕python中的数组操作。您可以通过负索引获取最后一个元素。代码如下:last=array[-1]js不支持负索引。但是es6增加了一个at方法,可以获取数组指定索引的元素,并且支持负索引。负数索引倒数,-1表示最后一个,-2表示倒数第二个,依此类推。所以尝试这种方法获取最后一个元素会容易很多。代码如下:letlast=array.at(-1)0x02如果浏览器不支持该方法,可以Polyfill:functionat(n){//ToInteger()abstractopn=Math.trunc(n)||0;//允许从末尾开始负索引if(n<0)n+=this.length;//OOB访问保证返回undefinedif(n<0||n>=this.length)returnundefined;//否则,这只是正常的属性访问at",{value:at,writable:true,enumerable:false,configurable:true});}参考https://github.com/tc39/propo...0x03如果你对前端和可视化感兴趣,可以和我交流,关注公众号“ITMan表叔”获取作者微信,及时收到更多有价值的文章。
