ECMAscript 5给数组定义了5个迭代法,每个方法都接收两个参数: 1:每一项运行的函数;2:运行该函数的作用域对象(可选);
1. every()和some()方法;
every();对数组都运行里面的函数,如果每一项都符合,则返回true;
some();如果符合一项就返回true;
var number = [0,1,2,3,4,5,6,7];
function test1(item,index,array){
console.log('item=' + item + 'index=' + index + 'array=' + array)
return item > 2;
}
//该函数对每一项都返回true,那么返回true
var everyResult = number.every(test1);
//该函数对任一项都返回true,那么返回true
var someResult = number.some(test1);
console.log(everyResult);
console.log(someResult);
2.filter()方法
filter();返回符合里面函数的数组;
var number = [0,1,2,3,4,5,6,7];
function test1(item,index,arry){
return item>2;
}
//filterRes返回所有复合条件的数据,返回值为数组
var filterRes = number.filter(test1);
console.log(filterRes); //[ 3, 4, 5, 6, 7 ]
3.foreach()方法
foreach();对每一项都执行里面的函数,相当于for;没有返回值;
var number = [0,1,2,3,4,5,6,7];
function test1(item,index,array){
console.log('item=' + item + 'index=' + index + 'array=' + array)
}
//forEach和for的性质差不多
number.forEach(test1);
4.map();返回一个数组,而且该数组的每一项都是运行里面函数的结果;