当前位置:首页 > 科技  > 软件

JavaScript 中七个鲜为人知的数组方法

来源: 责编: 时间:2024-03-22 08:55:13 236观看
导读JavaScript 数组除了 map()、filter()、find() 和 push() 之外还有更多功能。今天这篇文章就来给大家分享一些鲜有人知道的数组方法,我们现在开始吧。1.copyWithin()Array copyWithin() 将数组的一部分复制到同一数组中

JavaScript 数组除了 map()、filter()、find() 和 push() 之外还有更多功能。今天这篇文章就来给大家分享一些鲜有人知道的数组方法,我们现在开始吧。oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

1.copyWithin()

Array copyWithin() 将数组的一部分复制到同一数组中的另一个位置并返回它,而不增加其长度。oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

end 参数是可选的:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

2. at() 和 with()

at() 首先出现,with() 在一年后的 2023 年出现。oIQ28资讯网——每日最新资讯28at.com

它们是单元素数组修改和访问的函数式和不可变版本。oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

这些新方法的最酷之处在于它们如何让您使用负索引获取和更改元素值。oIQ28资讯网——每日最新资讯28at.com

3.reduceRight()

与reduce()类似,但回调是从右到左而不是从左到右:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

这是reduceRight() 的另一个很好的场景:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

4. findLast()

ES13 中的新增功能:从最后一个元素开始查找数组项。oIQ28资讯网——每日最新资讯28at.com

非常适合从结束位置搜索比使用 find() 产生更好性能的情况:oIQ28资讯网——每日最新资讯28at.com

例子:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

这是可行的,但由于我们的目标对象更接近数组的尾部,findLast() 应该运行得更快:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

findLast() 的另一个用例是当我们必须从末尾专门搜索数组以获得正确的元素时。oIQ28资讯网——每日最新资讯28at.com

例如,如果我们想查找数字列表中的最后一个偶数,find() 将产生完全错误的结果:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

但 findLast() 将从末尾开始搜索并为我们提供正确的项目。oIQ28资讯网——每日最新资讯28at.com

5. toSorted()、toReversed()、toSpliced()

ES2023 完全包含了 sort()、reverse() 和 splice() 的不可变版本。oIQ28资讯网——每日最新资讯28at.com

好吧,也许 splice() 的使用不如其他方法那么多,但它们都会就地改变数组。oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

不变性为我们提供了可预测且更安全的代码;调试要容易得多,因为我们确定某些变量永远不会改变它们的值。oIQ28资讯网——每日最新资讯28at.com

参数完全相同,但 splice() 和 toSpliced() 的返回值必须不同。oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

6.lastIndexOf()

lastIndexOf() 方法返回可以在数组中找到特定元素的最后一个索引。oIQ28资讯网——每日最新资讯28at.com

我们可以将第二个参数传递给lastIndexOf()来指定数组中的一个索引,在该索引之后它应该停止搜索字符串:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

7. flatMap()

flatMap() 方法使用给定的回调函数转换数组,然后将转换后的结果展平一级:oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

在数组上调用 flatMap() 与调用 map() 后跟深度为 1 的 flat() 执行相同的操作,但它比单独调用这两个方法更有效。oIQ28资讯网——每日最新资讯28at.com

oIQ28资讯网——每日最新资讯28at.com

它们还不是那么出名,但它们有其独特的用途并且非常强大。oIQ28资讯网——每日最新资讯28at.com

总结

以上就是今天这篇文章跟你分享的全部内容,希望今天的内容能够帮助到你,最后,感谢你的阅读。oIQ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-78504-0.htmlJavaScript 中七个鲜为人知的数组方法

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 15个CSS 常见错误,请一定要注意避免

下一篇: 公司新来一个架构师, 将消费金融系统重构了

标签:
  • 热门焦点
  • 5月iOS设备好评榜:iPhone 14仅排第43?

    来到新的一月,安兔兔的各个榜单又重新汇总了数据,像安卓阵营的榜单都有着比较大的变动,不过iOS由于设备的更新换代并没有那么快,所以相对来说变化并不大,特别是iOS好评榜,老款设
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,“7
  • 东方甄选单飞:有些鸟注定是关不住的

    作者:彭宽鸿来源:华尔街科技眼‍‍‍‍‍‍‍‍‍‍东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一
  • 小米汽车电池信息疑似曝光:容量101kWh,支持800V高压快充

    7月14日消息,今日一名博主在社交媒体发布了一张疑似小米汽车电池信息的照片,显示该电池包正是宁德时代麒麟电池,容量为101kWh,电压为726.7V,可以预测小
  • 华为Mate60标准版细节曝光:经典星环相机模组回归

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
Top