共性:对数组进行循环,循环要做的事情都在回调函数里写了
一、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 |