迭代方法:
every() 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。使用此方法 可确定数组中的所有项是否满足某一条件,类似于&&的含义。
var arr = [1,2,3,4,5,6,7,8]; var everyRes = arr.every(function(item,index,array){ return (item>2); });
alert(everyRes);
some() 对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。使用此方法确定数组中的所有项是否满足条件.类似于||的含义。 var someRes = arr.some(function(item,index,array){ return (item>2); }); alert(someRes);
filter() 对数组中的每一项执行测试函数,并构造一个新数组,返回 true的项被添加进新数组。 如果某项返回 false,则新数组中将不包含此项
var filterRes = arr.filter(function(item,index,array){ return (item>2); }); alert(filterRes); map() 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
var mapRes = arr.map(function(item,index,array){ return (item*2); }); alert(mapRes);
forEach() 没有返回值。
forEach(){}
归并方法:
reduce() 接受传入的函数和作为归并基础的初始值(可选)。 要传入的函数接收四个函数,前一个值,当前值,索引项,数组对象。(第一次迭代发生在第二项时,数组的第一项为第一个参数) var arr = [1,2,3,4,5];
var sum = arr.reduce(function(prev,cur,index,array){ return prev + cur; }); alert(sum); //15 reduceRight() 和reduce()方法本质一样,区别就在于是从后向前开始边里 var sum = arr.reduce(function(prev,cur,index,array){ return prev + cur; }); alert(sum); //15
原文:http://www.cnblogs.com/wyx424/p/6713062.html