关于js数组方法forEach()
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()的更多相关文章
- js数组方法forEach,map,filter,every,some实现
Array.prototype.map = function(fun /*, thisp*/) { var len = this.length; if (typeof fun != "fun ...
- js 数组方法比较
js 数组方法比较 table th:first-of-type { width: 80px; } table th:nth-of-type(2) { width: 120px; } table th ...
- js数组方法详解
Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ...
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
- js数组方法大全(上)
# js数组方法大全(上) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 join() reverse() sort() concat() slice( ...
- js数组方法大全(下)
# js数组方法大全(下) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 forEach() map() filer() every() some() ...
- js数组的forEach方法能不能修改数组的值
如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改. 请看下面代码: // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(fun ...
- ES5 数组方法forEach
ES6已经到了非学不可的地步了,对于ES5都不太熟的我决定是时候学习ES5了. 1. js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i=0;i<count;i++)这样的 ...
- js数组方法详解(最新最全)
数组是js中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响.本文所有的栗子都是在es7环境下测试的,如果有问题欢迎留言交流 ...
- js数组方法解析
js 数组有很多方法,其中有的常用,有的不常用,归纳几个常用的方法,做个总结: 1. 转换方法: 1.1 valueOf():调用这个方法会返回数组本身 <script> var arr ...
随机推荐
- Nuget管理器下载插件出现依赖性相关无法正确下载
话不多说,直接上图: 上面我采用的是PM控制台下载EntityFrameWork最新版本,之所以要这样做,是因为利用Nuget管理器好像不咋管用呀,一直说这个依赖那个依赖啥的,还不如最底层 用命令控制 ...
- C# const, readonly, static readonly
转: Const 定义的是静态常在对象初始化的时候赋值.以后不能改变它的值.属于编译时常量.不能用new初始化. Readonly 是只读变量.属于运行时变量.可以在类constructor里改变它的 ...
- RDD持久化和检查点
val count: RDD[(String, Int)] = mapRDD.reduceByKey(_ + _)count.collect() val value: RDD[(String, Ite ...
- 部分jdk网盘链接
链接:https://pan.baidu.com/s/1Nw84qVRL3Buarh2LY1lWEg 提取码:6q2z 含 6u45 7u80 8u202 11.0.X 的win及linux版 没有网 ...
- 公式b-(a-b)
- 把VScode插件提示abc的提示给移到最后
把VScode插件提示abc的提示给移到最后 解决方法 打开设置,在搜索中输入editor.snippetSuggestions,然后将选项改为top,就可以解决了 top:就是将你插件提示放到最上面 ...
- 记一次对peer的理解
今天在使用react-native开发项目的时候,想要使用async-storage. 我用的rn版本是18.2.0,不带async-storage,所以我需要自己安装下载. 于是执行命令: npm ...
- nginx配置透明代理
来自:https://blog.csdn.net/weixin_34072458/article/details/91677177 user nginx; worker_processes auto; ...
- CF652F 题解
题意 传送门 在一个长度为 \(m\) 的圆环上有 \(n\) 只初始位置互不相同的蚂蚁,每只蚂蚁的速度都为 \(1\),初始方向为顺时针或逆时针:两只运动方向不同的蚂蚁相遇时会调转方向,问 \(t\ ...
- K8s网络策略
Network Policy(网络策略) 默认情况下,k8s集群网络是没有任何限制的,Pod可以和任何其他Pod通信,在某些场景下需要做网络控制,减少网络面的攻击,提高安全性,就会用到网络策略(Net ...