惨了,基础太不扎实.
刚查到
ie5.5
array.shift
array.unshift

解决方案 »

  1.   

    array.splice(startIndex,deletecount) ie5.5
      

  2.   

    呵呵,顺手给IE5也实现了一个:
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    if (Array.splice==null)
    Array.prototype.splice = Splice;
    function Splice(a,b){
    a = parseInt(a);b=parseInt(b);
    if (isNaN(a)||isNaN(b)||a>this.length||a<0||b<0) return null;
    if (a+b>this.length) b=this.length-a;
    var ar=[],i,l=this.length-b;
    for (i=a;i<a+b;i++) ar[i-a]=this[i];
    for (i=a;i<l;i++) this[i]=this[i+b];
    this.length=l;
    return ar;
    }
    var a=["a","b","c","d","e"];
    alert(a.splice(2,3));
    alert(a)
    //-->
    </SCRIPT>
      

  3.   

    更严谨一点的版本:<SCRIPT LANGUAGE="JavaScript">
    <!--
    if (Array.splice==null)
    Array.prototype.splice = Splice;
    function Splice(a,b){
    a = parseInt(a);b=parseInt(b);
    if (isNaN(a)||isNaN(b)||a>this.length||a<0||b<0) return null;
    if (a+b>this.length) b=this.length-a;
    var ar=[],rs=[],i,l=this.length-b+arguments.length-2;
    for (i=a;i<a+b;i++) rs[i-a]=this[i];
    for (var i=2;i<arguments.length;i++) ar[ar.length]=arguments[i];
    for (var i=a+b;i<this.length;i++) ar[ar.length]=this[i];
    for (var i=0;i<ar.length;i++) this[a+i]=ar[i];
    this.length=l;
    return rs;
    }
    var a=["a","b","c","d","e","f"];
    alert(a.splice(2,2,"i","j","k"));
    alert(a)
    //-->
    </SCRIPT>