首页 > 代码库 > 数组的几种迭代方法和归并方法1
数组的几种迭代方法和归并方法1
迭代方法:
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
数组的几种迭代方法和归并方法1