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

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

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

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

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

1.copyWithin()

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

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

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

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

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

2. at() 和 with()

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

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

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

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

3.reduceRight()

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

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

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

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

4. findLast()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.lastIndexOf()

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

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

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

7. flatMap()

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

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

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

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

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

总结

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

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

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

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

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

标签:
  • 热门焦点
  • 把LangChain跑起来的三个方法

    把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 三言两语说透设计模式的艺术-单例模式

    三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 如何使用JavaScript创建一只图像放大镜?

    如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • 一篇文章带你了解 CSS 属性选择器

    一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 使用AIGC工具提升安全工作效率

    使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 破圈是B站头上的紧箍咒

    破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    在今日举行的2023年华为云数字文娱AI创新峰会上,华为云全球Marketing与销售服务总裁石冀琳表示,华为云将在后续推出盘古数字人大模型,可帮助用户12小
  • 三星Galaxy Z Fold5官方渲染图曝光:13.4mm折叠厚度依旧感人

    三星Galaxy Z Fold5官方渲染图曝光:13.4mm折叠厚度依旧感人

    据官方此前宣布,三星将于7月26日在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
Top