js中every、filter、forEach、map和some迭代法 — 第5.2.8节

来源:互联网 发布:数据分析入门书籍推荐 编辑:程序博客网 时间:2024/06/05 22:39

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,那么返回truevar everyResult = number.every(test1);//该函数对任一项都返回true,那么返回truevar 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();返回一个数组,而且该数组的每一项都是运行里面函数的结果;

1 0
原创粉丝点击