js中的数组,有5种遍历的方法,它们的入参都是函数,它们的作用如下所示:
1)every:返回值是boolean值,当数组中的所有项都满足某个条件时,返回true,否则返回false。如:
var numbers = [0,1,2,3,4,5,6];
var result = numbers.every(function (item,index,array) {
return item > 2;
});
console.log(result);//false
2)some:返回值是boolean值,当数组中的某一个项满足某个条件时,返回true,数组中的所有项都不满足条件才返回false。如:
var numbers = [0,1,2,3,4,5,6];
var result = numbers.some(function (item,index,array) {
return item > 2;
});
console.log(result);//true
3)filter:返回值是一个数组,这个数组是所有满足条件的项组成的一个新的数组,新数组的项来自于原数组,原数组不变。如:
var numbers = [0,1,2,3,4,5,6];
var result = numbers.filter(function(item,index,array){
return item > 2;
});
console.log(result);//[3,4,5,6]这是一个新的数组
4)map:返回值是一个数组,这个数组的项是用原数组的项进行一定操作后的值,原数组不变。注意,传递给map方法的参数,一定要有返回值,否则新数组中的项全部为undefined。如:
var numbers = [1,2,3,4,5,6,4,3,2,1];
var result = numbers.map(function(item,index,array){
return item*index;
});
console.log(result);//[0, 2, 6, 12, 20, 30, 24, 21, 16, 9]
5) forEach:没有返回值,相当于for循环