JavaScript的迭代方法

  1. every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。 
  2. filter():对数组中的每一项运行给定函数,返回该函数会返回true 的项组成的数组。 
  3. forEach():对数组中的每一项运行给定函数。这个方法没有返回值。 
  4. map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。 
  5. some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true. 
  6. every主要是用于判断一个素组中的值是否符合某个标准。必须是每个值都符合才会返回true。否则返回false. 
  7. 而some()函数只需要有一个值返回的是true就会返回true. 

  

数组迭代方法:every、some、map、filter、forEach

有返回值的方法:every、some、map、filter

返回数组的方法:map、filter

返回true、false的方法every、some

 1  window.onload = function(){
 2     //every()相当于逻辑与
 3     var arr = [1,2,3,4,5,6,7,8];
 4     var everyRes = arr.every(function(item,index,array){
 5         return (item>2);
 6     });
 7     alert(everyRes);
 8     //some()相当于逻辑或
 9     var someRes = arr.some(function(item,index,array){
10         return (item>2);
11     });
12     alert(someRes);
13     //filter()返回给定条件的数组
14     var filterRes = arr.filter(function(item,index,array){
15         return (item>2);
16     });
17     alert(filterRes);
18     //map()返回给定条件的数组
19     var mapRes = arr.map(function(item,index,array){
20         return (item*2);
21     });
22     alert(mapRes);
23 //forEach()没有返回值 有兴趣可以自测
24  }

reduce(),reduceRight()。 
迭代i数组中的所有值,返回一个按条件计算的最终值。 
reduce是从数组的逐个遍历 
到最后。而reduceRight()则从数组的最后一项开始,向前遍历到第一项。 
例如: 

var values = [1,2,3,4,5]; 
var sum = values.reduce(function(prev, cur, index, array){ 
return prev + cur; 
}); 
alert(sum); //15

第一次执行回调函数,prev 是1,cur 是2。第二次,prev 是3(1 加2 的结果),cur 是3(数组 
的第三项)。这个过程会持续到把数组中的每一项都访问一遍,最后返回结果。 
resuceRight()函数和reduce类似,不过是倒序。

 部分转载 如侵必删

posted on 2018-04-04 11:37  王天庆  阅读(107)  评论(0)    收藏  举报