Originariamente inviato da willybit
ma hai controllato che funzioni tutto a dovere?
ho controllato meglio, e queste sembrano andare...
codice:
if(!Array.prototype.pop){
Array.prototype.pop = function(){
var l=this.length,valore = this[l-1];
this.length = l-1;
return valore
}
}
if(!Array.prototype.push){
Array.prototype.push = function(valore){
this[this.length]=valore;
}
}
if(!Array.prototype.slice){
Array.prototype.slice = function(inizio,fine){
var i,l=this.length,xArray = new Array();
fine=!fine||Math.abs(fine)>=l?Math.sign(fine||1)*l: (l+fine)%l;
for(i=inizio;i<fine;i++){xArray[xArray.length]=this[i]}
return xArray
}
}
Math.sign=function(v){return v>0?1:-1;}
if(!Array.prototype.splice){
Array.prototype.splice = function(s,n){
var i,j,k,l=this.length,ar=arguments,r,appoggio=[];
n=n<0?0:s+n>l?l-s:n;r=this.slice(s,s+n);
for(i=s+n;i<l;i++){appoggio[i-s-n]=this[i];} //mi salvo i contenuti da s+n in poi
for(j=s,k=2;k<ar.length;k++){this[j++]=ar[k];} // sostituisco da s gli n elementi
for(j=s+k-2,i=0;i<appoggio.length;i++){this[j++]=appoggio[i];}
this.length=j;
return r;
}
}
non lo testate troppo e forse potrebbe essermi sfuggito qualcosa..percui butta un'occhio anche tu.
come al solito non ho commentato bene le funzioni...sorry....:tongue:
ciauz