forEach 遍历,数组的每一项做一件事
arr.forEach(function(item,index){
console.log(item);
})
Array.prototype.forEach=function(fn){
for(var i=0,len=this.length;i<len;i++){
fn.apply(this,[this[i],i,this]);
}
}
map 映射,数组通过某种计算产生一个新数组
var newArr=arr.map(function(item,index){
return item*item;
})
Array.prototype.map=function(fn){
var newArr=[];
for(var i=0,len=this.length;i<len;i++){
newArr[i]=fn.apply(this,[this[i],i,this]);
}
}
reduce 累积,数组的前后项做某种计算,累计最终值
var result=arr.reduce(function(prev,next){
return prev+next;
})
Array.prototype.reduce=function(fn){
var result;
for(var i=0,len=this.length;i<len;i++){
result=fn.apply(this,[result,this[i],i,this]);
}
}
filter 筛选,选出符合某种条件的新数组
var newArr=arr.filter(function(item,index){
return item>0;
})
every 判断数组中每个元素都符合要求
var result=arr.every(function(item,index){
return item>0;
})
some判断数组中是否存在符合要求的元素
var result=arr.some(function(item,index){
return item>0})