js中的5个迭代方法

1.every()方法:

实例:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.every(function(item,index,array){
   return (item>2)
   }
console.log(result)
运行结果:false

2.some()方法:

实例:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.some(function(item,index,array){
   return (item>2)
   }
 console.log(result)
运行结果:true

解释:
(1)对于every()方法和some()方法,它们都用于查询数组中的项是否满足某个条件。
(2)但是,对于every()方法而言,传入函数的每一项都返回true,这个方法才会返回true。
(3)对于some()方法而言,只要有部分符合条件,就会返回true.

3.filter()方法:

实例:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.filter(function(item,index,array){
    return (item>2);
});
console.log(result);
运行结果:
[ 3, 4, 5, 4, 3 ];

解释:该方法用于查询符合某些条件的所有数组项,返回的是一个数组。

4.map()方法:

实例:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.map(function(item,index,array){
    return  item+2;
});
console.log(result);
运行结果:
[ 3, 4, 5, 6, 7, 6, 5, 4, 3 ]

解释:map()方法也返回的是一个数组,是原始数组的每一项都基于传入函数进行了再次处理后的结果(即返回后的数组,每一项都加了2)。

5.forEach()方法:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.forEach(function(item,index,array){
 console.log(item+2);
 }
 console.log( result);
 运行结果为:
 
3
4
5
6
7
6
5
4
3
undefined

解释:forEach()方法没有返回值,它的用法本质上与使用for循环迭代数组是一样的。

汇总:

上面提及的所有方法都不会改变原数组,且每一个方法的传入函数都对应有三个参数:数组项的值,该项在数组中的位置,数组对象本身。

备注:参考资料(JavaScript高级程序设计第三版)

猜你喜欢

转载自blog.csdn.net/Kratial/article/details/82918535