Rate this script:  I Love it  /   I Hate it

Firefox1.5 Array extra methods for other browsers


Code


if(!Array.prototype.forEach){
Array.prototype.forEach = function(callback,thisObject){
        for(var i=0,len=this.length;i<len;i++)
                callback.call(thisObject,this[i],i,this)
}
Array.prototype.map = function(callback,thisObject){
        for(var i=0,res=[],len=this.length;i<len;i++)
                res[i] = callback.call(thisObject,this[i],i,this);
        return res
}
Array.prototype.filter = function(callback,thisObject){
        for(var i=0,res=[],len=this.length;i<len;i++)
                callback.call(thisObject,this[i],i,this) && res.push(this[i]);
        return res
}
Array.prototype.indexOf = function(searchElement,fromIndex){
        var i = (fromIndex < 0) ? this.length+fromIndex : fromIndex || 0;
        for(;i<this.length;i++)
                if(searchElement === this[i]) return i;
        return -1
}
Array.prototype.lastIndexOf = function(searchElement,fromIndex){
        var max = this.length-1;
        var i = (fromIndex < 0)   ? Math.max(max+1 + fromIndex,0) :
                        (fromIndex > max) ? max :
                        max-(fromIndex||0) || max;
        for(;i>=0;i--)
                if(searchElement === this[i]) return i;
        return -1
}
Array.prototype.every = function(callback,thisObject){
        for(var i=0,len=this.length;i<len;i++)
                if(!callback.call(thisObject,this[i],i,this)) return false;
        return true
}
Array.prototype.some = function(callback,thisObject){
        for(var i=0,len=this.length;i<len;i++)
                if(callback.call(thisObject,this[i],i,this)) return true;
        return false
}
}
 

 

 
Firefox1.5 Array extra methods for other browsers scripts | Firefox1.5 Array extra methods for other browsers snippet | Firefox1.5 Array extra methods for other browsers example | Firefox1.5 Array extra methods for other browsers tutorial | Firefox1.5 Array extra methods for other browsers code