数组遍历的几种方法及用法

数组遍历的几种方法及用法js 提供了多种遍历数组的方法 具体使用场景略有区别 在此简单介绍一下 一 forEach 方法 forEach 是最简单 最常用的数组遍历方法 它提供一个回调函数 可用于处理数组的每一个元素 默认没有返回值 以上是个简单的例子 计算出数组中大于等于 3 的元素的个数 回调函数的参数 第一个是处于当前循环的元素 第二个是该元素下标 第三个是数组本身 三个参数均可选 二 map 方法 m

(后续编辑更新,这是我后面重写的一篇文章,关于数组的遍历方法和使用场景介绍的更加详细一点,地址戳我 ,有兴趣的可以看看。)

js提供了多种遍历数组的方法,具体使用场景略有区别,在此简单介绍一下。

一、forEach方法

forEach是最简单、最常用的数组遍历方法,它提供一个回调函数,可用于处理数组的每一个元素,默认没有返回值。

数组遍历的几种方法及用法

以上是个简单的例子,计算出数组中大于等于3的元素的个数。

回调函数的参数,第一个是处于当前循环的元素,第二个是该元素下标,第三个是数组本身。三个参数均可选。

二、map方法

map,从字面上理解,是映射,即数组元素的映射。它提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。默认返回一个数组,这个新数组的每一个元素都是原数组元素执行了回调函数之后的返回值。

map方法不改变原数组。

数组遍历的几种方法及用法

数组遍历的几种方法及用法

以上是一个简单的例子,把原数组的每一项乘以自身下标+1的数。

三、filter方法

filter,过滤,即对数组元素的一个条件筛选。它提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。默认返回一个数组,原数组的元素执行了回调函数之后返回值若为true,则会将这个元素放入返回的数组中。

filter方法不改变原数组

数组遍历的几种方法及用法

数组遍历的几种方法及用法

以上是一个简单的例子,筛选出原数组中,自身乘以下标大于等于3的元素。

四、some、every方法

some方法和every的用法非常类似,提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。

数组的每一个元素都会执行回调函数,当返回值全部为true时,every方法会返回true,只要有一个为false,every方法返回false。当有一个为true时,some方法返回true,当全部为false时,every方法返回false。

some、every方法不改变原数组。

数组遍历的几种方法及用法

数组遍历的几种方法及用法

五、reduce方法

reduce方法有两个参数,第一个参数是一个回调函数(必须),第二个参数是初始值(可选)。回调函数有四个参数,依次为本轮循环的累计值、当前循环的元素(必须),该元素的下标(可选),数组本身(可选)。

reduce方法,会让数组的每一个元素都执行一次回调函数,并将上一次循环时回调函数的返回值作为下一次循环的初始值,最后将这个结果返回。

如果没有初始值,则reduce会将数组的第一个元素作为循环开始的初始值,第二个元素开始执行回调函数。

最常用、最简单的场景,是数组元素的累加、累乘。

数组遍历的几种方法及用法

数组遍历的几种方法及用法

reduce方法不改变原数组

六、for of方法

es6新增了interator接口的概念,目的是对于所有数据结构提供一种统一的访问机制,这种访问机制就是for of。

即:所有有interator接口的数据,都能用for of遍历。常见的包括数组、类数组、Set、Map等都有interator接口。

数组遍历的几种方法及用法

数组遍历的几种方法及用法

如果想用for of的方法遍历数组,又想用Index,可以用for of遍历arr.entries()

数组遍历的几种方法及用法

数组遍历的几种方法及用法

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176884.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:48
下一篇 2026年3月26日 下午8:48


相关推荐

  • 数据结构 || 二维数组按行存储和按列存储[通俗易懂]

    数据结构 || 二维数组按行存储和按列存储[通俗易懂]问题描述:设有数组A[n,m],数组的每个元素长度为3字节,n的值为1~8,m的值为1~10,数组从内存收地址BA开始顺序存放,请分别用列存储方式和行存储方式求A[5,8]的存储首地址为多少。解题说明:(1)为什么要引入以列序为主序和以行序为主序的存储方式?因为一般情况下存储单元是单一的存储结构,而数组可能是多维的结构,则用一维数组存储数组的数据元素就存…

    2022年7月16日
    17
  • AArch64 是什么

    AArch64 是什么AArch64是ARMv8架构的一种执行状态。

    2022年10月17日
    7
  • 使用mshta.exe绕过应用程序白名单

    使用mshta.exe绕过应用程序白名单今天,我们将学习有关HTA攻击的不同方法。HTA是有用且重要的攻击,因为它可以绕过应用程序白名单。在上一篇文章中,我们讨论了“WindowsApplocker策略-入门指南”,因为它们定义了应用

    2022年7月1日
    22
  • .net 开源框架「建议收藏」

    .net 开源框架「建议收藏」开源框架:CastleCastle是由HamiltonVerissimo撰写的,从2003年就开始开发,并在2006年11月发布了1.0RC2。2007年09发布了1.0RC3版本。Castle是个轻量级(Lightweight)容器(Container)、实现IoC(InversionofControl)概念,是一个全方位的应用程序(Application)框

    2022年7月15日
    20
  • github代理-github

    github代理-githubgithub 代理网址 https ghproxy com 终端命令行支持终端命令行 gitclone wget curl 等工具下载 支持 raw githubuserco com gist github com gist githubuserco com 文件下载 注意 不支持 SSHKey 方式 gitclone 下载 gitclonegitc ghproxy com https github com st

    2026年3月20日
    2
  • 3D视频编码(3d打印技术介绍)

    3D-HEVC编码框架3D-HEVC编码结构是对HEVC的扩展,每个视点纹理及深度图编码主要采用HEVC编码框架,但在其基础上增加了一些新的编码技术,使其更有利于深度图和多视点的编码。图13D-HEVC编码结构如上图所示,3D-HEVC编解码结构和MVC类似。图中所有输入的视频图像和深度图像是同一时刻,不同拍摄位置的场景,这些图像组成一个存取层。在同一个存取层中,首先对独立视点(基准视点…

    2022年4月13日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号