1.every();对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
2.filter();对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组.
3.forEach();对数组中的每一项运行给定函数,这个方法没有返回值
4.map();对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
5.some();对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true.
在这些方法中,最相似的是every()和some();他们都是查询数组中的项是否满足某个条件。
对every()来说,传入的函数必须对每一项都返回true,这个方法才返回true;否则返回false。而some()方法则是只要传入的函数对数组中的某一项返回true,就会返回true;请看下面的例子
every()
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every((item,index,array)=>{
return item>2
})
everyResult //false
some()
var numbers = [1,2,3,4,5,4,3,2,1];
var someResult = numbers.some((item,index,array)=>{
return item>2
})
someResult //true
filter()
var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter((item,index,array)=>{
return item>2
})
filterResult //[3, 4, 5, 4, 3]
map()
var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map((item,index,array)=>{
return item*2
})
mapResult //[2, 4, 6, 8, 10, 8, 6, 4, 2]
forEach()
他没有返回值;本质上跟使用for循环迭代是一样的
var numbers = [1,2,3,4,5,4,3,2,1];
numbers.forEach((item,index,array)=>{
//执行某些操作
})