// ******************************************************* // replacements for unsupported array functions (because arrayname.push(var) // and arrayname.pop() are not implemented in IE until version 5.5) function thearrayisgood(thearray,i) { if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return false; else return true; }
function getarraysize(thearray) { // replacement for arrayname.length property for (i = 0; i < thearray.length; i++) { if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return i; } return thearray.length; }
function arraypush(thearray,value) { // replacement for arrayname.push(value) thearraysize = getarraysize(thearray); thearray[thearraysize] = value; return thearray[thearraysize]; }
function arraypop(thearray) { // replacement for arrayname.pop() thearraysize = getarraysize(thearray); retval = thearray[thearraysize - 1]; delete thearray[thearraysize - 1];
thearray.length--; <<==我加了这句,很关键,否则出错 return retval; }
// *******************************************************
另外给出网上几个老外写的
function Array_pop() { var response = this[this.length - 1] this.length-- return response }
if (typeof(Array.prototype.pop) == "undefined") { Array.prototype.pop = Array_pop }
function Array_push() { var A_p = 0 for (A_p = 0; A_p < arguments.length; A_p++) { this[this.length] = arguments[A_p] } return this.length }
if (typeof Array.prototype.push == "undefined") { Array.prototype.push = Array_push }
|