every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
filter():对数组中的每一项运行给定函数,返回该函数会返回true 的项组成的数组。
forEach():对数组中的每一项运行给定函数。这个方法没有返回值。
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true.
every主要是用于判断一个素组中的值是否符合某个标准。必须是每个值都符合才会返回true。否则返回false.
而some()函数只需要有一个值返回的是true就会返回true.
例子如下:
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item, index, array){
return (item > 2);
});
alert(everyResult); //false
var someResult = numbers.some(function(item, index, array){
return (item > 2);
});
alert(someResult); //true
2.filter,filter返回的是一个符合某种条件的数组。
例如:数组number = [1,2,1,3,5,3,4,9,6,9];
var result = number.filter(function(item,index,array){
return (item>5);
});
alert(result); /[9,6,9];
3.map,map和filter函数类似,同样是hi返回的是一个数组。不过,这个数组的每一项都是在原始数组中的对应项上运行传入函数的结果。例如:
var numbers = [1,2,3,4,5,6,7];
var mapresult = numbers.map(function(item,index,array){
return item*2;
});
alert(mapresult);//[2,4,6,8,10,12,14];
4.forEach()
顾名思义,是一个循环数组的方法。
5.归并
5.1reduce(),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类似,不过是倒序。
网友评论