JavaScript:数组forEach和map的兼容处理


 IE8以下浏览器不兼容数组的forEach和map方法,现特做以下处理

    1、forEach的兼容处理

Array.prototype.myForEach=function(callback,context){
context=context||window;
if('forEach' in Array.prototype){
this.forEach(callback,context);
return;
}
for(var i=0; i<this.length; i++){
callback.call(context,this[i],i,this);
}
}
eg:
var ary=[12,34,56,89];
var obj={};
ary.myForEach(function(item,index,input){
input[index]=item*100;
},obj)

2、map的兼容处理
Array.prototype.myMap=function(callback,context){
context=context||window;
if('map' in Array.prototype){
return this.map(callback,context)
}
var ary=[];
for(var i=0; i<this.length; i++){
var val=callback.call(context,this[i],i,this);
ary.push(val);
}
return ary;
}



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM