1.forEach()是什么?

forEach()是一种数组遍历方法。

在js最基础的遍历数组方法可能是这样的

点击查看代码
    var myArr = [1, 2, 3]
for(var i = 0; i < myArr.length; i++) {
console.log('当前数组元素' + myArr[i]);
console.log('当前数组元素的索引值' + i);
console.log('整个数组元素' + myArr);
}

这样写代码,要写的东西太多了。

在循环里‘声明一个i’ 和 ‘确定数组的长度’是比较繁琐的,

而且var所造成的变量提升很可能造成错误(在循环外面也可以调用i这个变量)。

所以在ES5有了好几个数组遍历方法,

当然这样最原始的方法够用,但在很多实际项目中,这种方法很臃肿,会让代码结构很乱。

在这里先写一下forEach()方法的基本用法

点击查看代码
    var myArr = [1, 2, 3]
myArr.forEach(function (currentValue, index, array) {
console.log('当前数组元素' + currentValue);
console.log('当前数组元素的索引值' + index);
console.log('整个数组' + array);
})

forEach方法里面的参数是一个匿名对象,
这个对象可以循环遍历整个数组,
而我们相对数组的操作,就写在这个匿名对象里面。
这个匿名对象提供三个参数(参数名字不固定,可以自己更改),
分别是:
·currentValue 当前循环的数组元素
·index 当前循环的数组元素的索引值
·array 被循环的数组

代码执行的结果:

两组代码执行的结果都是一样的,我们可以看到这样语义化更明显。

在未来的学习以及项目工作中,forEach等其他数组方法是要经常使用的。

这里附上一个比较好的视频讲解案例:https://www.bilibili.com/video/BV1DY41177dM?p=39&vd_source=dd8342c2b9749c488bf0940c66a2da62

推荐看这个,跟着敲一遍,会更容易理解。

关于js数组方法forEach()的更多相关文章

  1. js数组方法forEach,map,filter,every,some实现

    Array.prototype.map = function(fun /*, thisp*/) { var len = this.length; if (typeof fun != "fun ...

  2. js 数组方法比较

    js 数组方法比较 table th:first-of-type { width: 80px; } table th:nth-of-type(2) { width: 120px; } table th ...

  3. js数组方法详解

    Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ...

  4. 转载收藏(js数组方法大全)

    js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...

  5. js数组方法大全(上)

    # js数组方法大全(上) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 join() reverse() sort() concat() slice( ...

  6. js数组方法大全(下)

    # js数组方法大全(下) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 forEach() map() filer() every() some() ...

  7. js数组的forEach方法能不能修改数组的值

    如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改. 请看下面代码: // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(fun ...

  8. ES5 数组方法forEach

    ES6已经到了非学不可的地步了,对于ES5都不太熟的我决定是时候学习ES5了. 1.  js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i=0;i<count;i++)这样的 ...

  9. js数组方法详解(最新最全)

    数组是js中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响.本文所有的栗子都是在es7环境下测试的,如果有问题欢迎留言交流 ...

  10. js数组方法解析

    js 数组有很多方法,其中有的常用,有的不常用,归纳几个常用的方法,做个总结: 1. 转换方法: 1.1 valueOf():调用这个方法会返回数组本身 <script> var arr ...

随机推荐

  1. MxDraw云图平台 2021.10.28更新,H5在线CAD,网页CAD,网页浏览编辑DWG

    1. 增加转换CAD文件的outpath参数设置,设置输出文件路径2. 修改转换程序,在 windows server 2010上,没有buf,距到中文路径的文件 ,转换会失败问题3. 修改宋体字体显 ...

  2. unable to access 'https://github.com/.../...git': Recv failure: Connection was reset

    解决git下载报错:fatal: unable to access 'https://github.com/.../...git': Recv failure: Connection was rese ...

  3. AWS RedShift实战应用SQL大全及经验分享[持续更新]

    文章目录 前言 - 关于RedShift 一.数据维护篇 1.1 表结构操作 1.2 数据添加与查询 1.3 数据修改与删除 1.4 事物操作 二.SQL结构篇 2.1 使用with封装代码 2.2 ...

  4. NVIDIA的GPU算力Compute Capalibity

    可查看官方查询地址:https://developer.nvidia.com/cuda-gpus

  5. #maxlength vs #size form api reference

    #maxlength Used by: password, textfield Description: The maximum amount of characters to accept as i ...

  6. wake on lan sender 2.0.8

    局域网 远程关机

  7. Filter Pattern 2 (dubbo的实现方式)

    前一篇FilterPattern的范式,基本和Tomcat实现的filter chain是一样的: 这里介绍一下我看完dubbo关于Filter Pattern的实现思路,自己抽象出来的代码,以及理解 ...

  8. Ubuntu16.04设置root以及root用户自动登录

    自己之前做的笔记确实不是很详细.因为像是一些环境的配置,即使是这样做,但是自己大概率下是不知道这样做的原因,所以很多东西能不能弄好是有很大的运气成分在里面.所以就很需要记录下自己到底干了些什么. 所以 ...

  9. golang 不再使用原生的log, 使用固定的zap logger

    最主要一点, zap的可以给出详细的log信息, 形如 2023-02-10T09:24:55.707+0800 INFO v3web/main.go:196 [2023-02-10 09:24:55 ...

  10. Java-面向对象进阶 继承限制

    1.子类可以继承父类的那些资源 private成员 子类和父类不在同一个包,使用默认访问权限的成员 构造方法