function forEach(arr,fn){
for(var i=0;i<arr.length;i++){
if(i in arr) fn(arr[i],i,arr); //如果i在arr中不为空。
}
}
map重构
function map(arr,fn){
var arr1=[];
for(var i=0;i<arr.length;i++){
if(i in arr) arr1[i]=fn(arr[i],i,arr);
}
return arr1;
}
var arr=[1,2,5,,3,6,8];
var arr1=map(arr,function(item){
return item+10;
});
console.log(arr1);
some重构
function some(arr,fn){
for(var i=0;i<arr.length;i++){
if(i in arr && fn(arr[i],i,arr)) return true;
}
return false;
}
every重构
function every(arr,fn){
for(var i=0;i<arr.length;i++){
if(i in arr && !fn(arr[i],i,arr)) return false; //有一个假,就跳出false了
}
return true;
}