1//迭代: 函数作为参数,传递给具有迭代功能的另一个函数2var students =[3{id:10,name:'zs',age:80},4{id:20,name:'ls',age:8},5{id:30,name:'ww',age:18},6{id:40,name:'c1',age:22},7];8//1.是否都是成年人?--》every9functioncheck18(stu){10return stu.age>=18;11}12var result = students.every(check18);13if(result){14 console.log("都是成年人");15}else{16 console.log("不都是成年人");17}18//自己实现:是否都是成年人19var flag=true;20for(var i=0;i<students.length;i++){21if(students[i].age<18){22 flag =false;23break;24}25}26//2.是否有成年人?-->some27var result =students.some(function(stu){28return stu.age>=18;29});30if(result){31 console.log("有成年人");32}else{33 console.log("没有成年人");34}35//自己实现:是否有成年人36var flag=false;37for(var index in students){38if(students[index].age>=18){39 flag =true;40break;41}42}43//3.成年人是哪些?-->filter过滤44var arr =students.filter(function(stu){45return stu.age>=18;46});47 console.log(arr);48//自己实现成年人是哪些人49var arr=[];50for(var index in students){51if(students[index].age>=18){52 arr.push(students[index]);53}54}55 console.log(arr);56//4.成年人的姓名?--> map映射,一一对应57var arr =students.map(function(stu){58if(stu.age>=18)return stu.name;59});60 console.log(arr);61//自己实现成年人姓名62var arr=[];63for(var index in students){64if(students[index].age>=18){65 arr.push(students[index].name);66}else{67 arr.push(undefined);68}69}70//5.展示所有学生信息71var result = students.forEach(function(stu,index,stus){72//console.log(stu,index,stus);73 console.log(index,'-->',stu);74});75 console.log(result);//undefined没有返回值76//增强版for循环77for(var index in students){78 console.log(index,'-->',students[index]);79}8081 Array.prototype.myForEach=function(func){82for(var i=0;i<tis.length;i++){83//this==students this[i]==student[i]84//func(this[i],i,this);85 func.call(this,this[i],i,this);86}87}