详谈JS中数组的迭代方法和归并方法
数组的迭代方法
ES5中为数组定义了5个迭代方法。每个方法都要接收两个参数:要在每一项上面运行的函数和(可选的)运行该函数的作用域对象---影响this的值。
传入方法中的函数会介绍三个参数:1.数组项的值2.该项在数组的中位值3.数组对象本身;
every()和some()方法
every():对数组中的每一项运行给定函数,如果每一项都返回true,则返回true,否则false;
some():对数组中的每一项运行给定函数,如果至少有一项返回true,则返回true,否则false;
vararr=[1,2,4,5,3,1];
varone=arr.every(function(item,index,array){
return(item>2);
});
console.log(one);//false
vartwo=arr.some(function(item,index,array){
return(item>2);
});
console.log(two);//true
filter()和map()方法
filter():对数组中的每一项给定函数,返回值为true的项重新组成新的数组;
map():岁数组中的每一项给定函数,返回每一项调用这个函数的结果;
//数组中可以被2整除的数
vararr=[1,2,4,5,3,1];
varone=arr.filter(function(item,index,array){
return(item%2==0);
});
console.log(one);//[2,4]
//数组中所有数的2倍
vartwo=arr.map(function(item,index,array){
return(item*2);
});
console.log(two);//[2,4,8,10,6,2]
forEach()方法
forEach():对方法中的每一项运行给定函数。这个方法没有返回值;
vara=['a','b','c'];
a.forEach(function(item,index,array){
console.log(item);
});
//"a"
//"b"
//"c"
归并方法
reduce()和reduceRight()方法
varnums=[1,2,3,4,5];
varsum=nums.reduce(function(prev,cur,index,array){
returnprev+cur;
});
alert(sum);//15第一次prev:1;cur:2;第二次:prev:3(1+2)cur:3以此类推
/******************************************************************************************/
varnums=[1,2,3,4,5];
varsum=nums.reduceRight(function(prev,cur,index,array){
returnprev+cur;
});
alert(sum);//15第一次prev:5;cur:4;第二次:prev:9(5+4)cur:3以此类推
以上这篇详谈JS中数组的迭代方法和归并方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。