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

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

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

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

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

1.copyWithin()

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

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

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

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

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

2. at() 和 with()

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

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

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

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

3.reduceRight()

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

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

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

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

4. findLast()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.lastIndexOf()

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

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

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

7. flatMap()

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

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

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

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

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

总结

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

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

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

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

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

标签:
  • 热门焦点
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 摸鱼心法第一章——和配置文件说拜拜

    为了能摸鱼我们团队做了容器化,但是带来的问题是服务配置文件很麻烦,然后大家在群里进行了“亲切友好”的沟通图片图片图片图片对比就对比,简单对比下独立配置中心和k8s作为配
  • 掘力计划第 20 期:Flutter 混合开发的混乱之治

    在掘力计划系列活动第20场,《Flutter 开发实战详解》作者,掘金优秀作者,Github GSY 系列目负责人恋猫的小郭分享了Flutter 混合开发的混乱之治。Flutter 基于自研的 Skia 引擎
  • 一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 联想YOGA 16s 2022笔记本将要推出,屏幕支持触控功能

    联想此前宣布,将于11月2日19:30召开联想秋季轻薄新品发布会,推出联想 YOGA 16s 2022 笔记本等新品。官方称,YOGA 16s 2022 笔记本将搭载 16 英寸屏幕,并且是一
Top