0
点赞
收藏
分享

微信扫一扫

ES5新增的数组的几个方法(every,forEach, map,filter,some)

kiliwalk 2022-03-12 阅读 86

         共性:对数组进行循环,循环要做的事情都在回调函数里写了

一、forEach:

功能:遍历数组中每个元素,
参数:回调函数(回调函数的参数:数组的当前元素,下标,数组本身)
 解释:回调函数的代码就是循环体里要执行的代码。
 返回值:无。
 var scores = [98,82,75,88,96,51,90];
 scores.forEach((item,index,arr)=>{
 item = item+1;
 arr[index] = item+1;
 })
 自己定义一个forEach函数
Array.prototype.myForEach = function(callback){
 this是:scores
 for(let i=0;i<this.length;i++){
 callback(this[i],i,this);
 }
}
调用
 scores.myForEach((item,index,arr)=>{
  item = item+1;
arr[index] = item+2;
})
console.log(scores);

二、 map:

 功能:映射一个新的数组(遍历数组中每个元素,对每个元素做一定的处理,把处理的结果放在新的数组里),
 参数:回调函数(回调函数的参数:数组的当前元素,下标,数组本身)
 解释:回调函数的代码就是循环体里要执行的代码。
返回值:新的数组。
var scores = [98,82,75,88,96,51,90];
 let arr = scores.map((item,index,arr)=>{
 return item+1; //这个结果是放在新的数组里了。
 })
console.log("scores",scores);
console.log("arr",arr);

三、 filter:

 功能:映射一个新的数组,新的数组是原数组中的一部分元素(满足回调函数里的条件的元素),
参数:回调函数(回调函数的参数:数组的当前元素,下标,数组本身)
解释:回调函数的代码就是循环体里要执行的代码。
 返回值:新的数组。
 var scores = [98,82,75,88,96,51,90];
 let arr = scores.filter((item,index,arr)=>{
return item>=60;//满足的条件
});
 console.log("scores",scores);
 console.log("arr",arr);

四、 some:

功能:完成的是判断。判断数组中是否有一些元素满足条件(回调函数里写的条件)
 参数:回调函数(回调函数的参数:数组的当前元素,下标,数组本身)
 解释:回调函数的代码就是循环体里要执行的代码。
返回值:true:有一些满足条件的元素;false:没有满足条件的元素(每一个都不满足)。
var scores = [98,82,75,88,96,51,90];
 判断是否有人不及格
 let has = scores.some(item=>{
 return item<60;
})
 console.log("has",has);//true

五、 every:

功能:完成的是判断。判断数组中是否每一个元素都满足条件(回调函数里写的条件)
参数:回调函数(回调函数的参数:数组的当前元素,下标,数组本身)
解释:回调函数的代码就是循环体里要执行的代码。
返回值:true:每一个都满足;false:有一些没有满足
var scores = [98,82,75,88,96,51,90];
let has = scores.every(item=>{
return item<60;
})
console.log("has",has);//false
举报

相关推荐

0 条评论