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

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

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

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

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

1.copyWithin()

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

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

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

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

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

2. at() 和 with()

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

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

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

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

3.reduceRight()

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

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

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

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

4. findLast()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.lastIndexOf()

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

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

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

7. flatMap()

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

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

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

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

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

总结

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

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

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

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

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

标签:
  • 热门焦点
  • K60至尊版刚预热 一加Ace2 Pro正面硬刚

    Redmi这边刚如火如荼的宣传了K60 Ultra的各种技术和硬件配置,作为竞品的一加也坐不住了。一加中国区总裁李杰发布了两条微博,表示在自家的一加Ace2上早就已经采用了和PixelWo
  • Java NIO内存映射文件:提高文件读写效率的优秀实践!

    Java的NIO库提供了内存映射文件的支持,它可以将文件映射到内存中,从而可以更快地读取和写入文件数据。本文将对Java内存映射文件进行详细的介绍和演示。内存映射文件概述内存
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    来源 | 烈酒商业观察编 | 肖海林今年以来,威士忌市场开始出现了降温迹象,越来越多不断暴涨的网红威士忌也开始悄然回归市场理性。近日,LVMH集团旗下苏格兰威士忌品牌雅柏(Ardbeg
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了——贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 四年持续更迭坚持探索行业无人之境,HarmonyOS 4带来五大升级多项创新

    除了华为每年新发布的旗舰手机系列,上亿花粉更加期待鸿蒙系统每次的跨版本大更新。8月4日,HarmonyOS 4于HDC 2023正式发布,这也是该系统历经四年的再
  • Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • 机构称Q2全球智能手机出货量同比下滑11% 苹果份额依旧第2

    7月20日消息,据外媒报道,研究机构的报告显示,由于需求下滑,今年二季度全球智能手机的出货量,同比下滑了11%,三星、苹果等主要厂商的销量,较去年同期均有下
Top