js学习之——数组的迭代方法
在我们日常的编码中,对数组的操作的频率很高,其中涉及到数组的迭代也很多。所谓的迭代,就是对数组的每一项都进行相应的操作。
下面介绍数组迭代中的五个方法every,some,filter,map,foreach。
1、every方法
every方法接收两个参数,第一个参数是每个数据项都要执行的函数和运行该函数的作用域对象(可选),其中数据项执行的函数接收三个参数,第一个是当前数据项,第二个是当前收银值,第三个是数组本身。如果每个数据项都返回true,则every方法返回true,否则返回false。如下:
1 let a=[1,2,3,4,5,6]; 2 var result=a.every(function(item,index,array){ 3 return item>2; 4 }) 5 console.log(result); //false
2、some方法
some方法接收两个参数,第一个参数是每个数据项都要执行的函数和运行该函数的作用域对象(可选),其中数据项执行的函数接收三个参数,第一个是当前数据项,第二个是当前收银值,第三个是数组本身。如果有一个数据项返回true,则some方法返回true,否则返回false。如下:
1 let a=[1,2,3,4,5,6]; 2 var result=a.some(function(item,index,array){ 3 return item>2; 4 }) 5 console.log(result); //true
3、filter方法
filter方法接收两个参数,第一个参数是每个数据项都要执行的函数和运行该函数的作用域对象(可选),其中数据项执行的函数接收三个参数,第一个是当前数据项,第二个是当前收银值,第三个是数组本身。filter方法返回所有返回true的数据项组成的新数组。如下:
1 let a=[1,2,3,4,5,6]; 2 var result=a.filter(function(item,index,array){ 3 return item>2; 4 }) 5 console.log(result); //[3,4,5,6]
4、forEach方法
forEach方法接收两个参数,第一个参数是每个数据项都要执行的函数和运行该函数的作用域对象(可选),其中数据项执行的函数接收三个参数,第一个是当前数据项,第二个是当前收银值,第三个是数组本身。forEach方法不返回值,跟for循环一样,可以在forEach中进行一些操作
1 let a=[1,2,3,4,5,6]; 2 var result=a.forEach(function(item,index,array){ 3 //一些操作 4 }
5、map方法
map方法接收两个参数,第一个参数是每个数据项都要执行的函数和运行该函数的作用域对象(可选),其中数据项执行的函数接收三个参数,第一个是当前数据项,第二个是当前收银值,第三个是数组本身。map方法返回每个数据项经过相应的操作后组成的新数组。如下:
1 let a=[1,2,3,4,5,6]; 2 var result=a.map(function(item,index,array){ 3 return item*2; 4 }) 5 console.log(result); //[2,4,6,8,10,12]