原生js 数组的迭代的方法

Posted evil_liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生js 数组的迭代的方法相关的知识,希望对你有一定的参考价值。

一、原生js Array给我们提供很多了方法。方便我们操作数组.这些方法的参数,都需要传入一个匿名函数,匿名函数中有三个参数,分别含义是:数组中的项、该项的索引、以及数组本身。

1、filter方法:对数组每一项执行匿名函数,并返回符合条件的数组的项。

1     var  testArr=[1,2,3,4,52,2];
2     //filter 方法
3     var moreTwo=testArr.filter(function(item,index,array){
4         return item >2;
5     });
6     console.log(moreTwo);

2、map方法:对数组中每一项进行操作,返回值为匿名函数操作的所有项。

1     var addTwo=testArr.map(function(item,index,ar){
2         return item+=2
3     });
4     console.log(addTwo);

3、every()和some()方法:对传入的匿名函数进进行判断,这两个函数返回值为:boolean值,every()返回所有项满足给定条件时返回true,而some(),只要有一个满足条件就返回true。

1     var everBoolean=testArr.every(function(val,index,arr){
2         return val>2;
3     });
4     var  someBoolean=testArr.some(function(v,i,arr){
5         return i>2
6     });
7     console.log(everBoolean,someBoolean);

4、forEach() 没有返回值,只是对于数组中每一项执行操作。

1     var forEachVal=testArr.forEach(function(v,i,arr){
2         return v+=2;
3     } )
4     console.log(testArr,forEachVal);

二、 总结:

上面的方法并没有修改原先的数组结构,而是需要我们创建一个新的副本进行储存符合我们的条件的值或者进行一些逻辑判断。而jquery 框架中,可以直接进行修改,但是我们也进行修改,因为在匿名的函数中第三个参数就是当前传入值为我们之前定义的数组的指针,所以我们可以进行修改。

但是这些方法对于我们来说满足我们日常的需求。

1     var addModTwo=testArr.map(function(item,index,ar){
2         ar[index]=item+2;
3         return item+=2
4     });
5     console.log(testArr)

所以灵活使用上面的方法,来解决实际问题。

 

以上是关于原生js 数组的迭代的方法的主要内容,如果未能解决你的问题,请参考以下文章

js经常用到的代码片段

几个关于js数组方法reduce的经典片段

原生JS数组去重的几种方法

85JS原生:数组4种去重方法

原生js如何绑定a连接点击事件?

浅谈用原生 js 实现数组的 slice 方法