ES7 中的 Array.prototype.at()

阅读时长 3 分钟读完

ES7 中的 Array.prototype.at()

在 JavaScript 中使用数组是非常常见的,但在以往的 ES6 中,如果我们想要访问数组中的某一项,只能通过索引值将其取出,如 arr[0]、arr[1]……,为了方便开发人员更加便捷地获取数组中某个位置的数据, ES7 中新增了 Array.prototype.at() 方法,它可以直接获取数组中指定位置的值。

Array.prototype.at() 方法的语法如下:

其中 arr 表示要操作的数组,index 为指定的位置,如果 index 为负数,则从数组末位开始计数,比如 -1 代表数组中的最后一项。

Array.prototype.at() 方法的特性:

  • 如果 index 大于等于数组的 length,返回 undefined。
  • 如果 index 为负数且其绝对值大于数组的 length,则返回 undefined。
  • 如果 index 是一个非数字(比如字符串),则会强制将其转换为数字。

下面是一个使用示例:

通过上面的示例可以看出,Array.prototype.at() 方法可以很方便地获取数组中指定位置的值,同时也可以避免数组越界和类型转换等问题。

我们还可以使用此方法实现一些实际应用场景,比如常见的数组去重:

通过 Array.prototype.map() 方法将 arr 数组中的每一项都映射到一个数组中,再通过 Set 对象去重,最后使用展开运算符将结果转换为数组。

总结

Array.prototype.at() 方法的出现可以方便了开发人员获取数组中指定位置的值,并且可以避免访问越界和类型转换所带来的问题。我们建议在进行数组访问时优先考虑使用 Array.prototype.at() 方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6495e4fd48841e98942e7483

纠错
反馈