删除数组元素.

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 wanghr100 的 blog

  javascript通过设置数组的length属性来截断数组是惟一
一种缩短数组长度的方法.如果使用delete运算符来删除数组中元
素,虽然那个元素变成未定义的,但是数组的length属性并不改变.
    两种删除元素,数组长度也改变的方法.


<script>

/*
 *  方法:array.remove(dx)
 *  功能:删除数组元素.
 *  参数:dx删除元素的下标.
 *  返回:在原数组上修改数组
 */

//经常用的是通过遍历,重构数组.
array.prototype.remove=function(dx)
{
    if(isnan(dx)||dx>this.length){return false;}
    for(var i=0,n=0;i<this.length;i++)
    {
        if(this[i]!=this[dx])
        {
            this[n++]=this[i]
        }
    }
    this.length-=1
}
a = ['1','2','3','4','5'];
alert("elements: "+a+"\nlength: "+a.length);
a.remove(0); //删除下标为0的元素
alert("elements: "+a+"\nlength: "+a.length);

/*
 *  方法:array.baoremove(dx)
 *  功能:删除数组元素.
 *  参数:dx删除元素的下标.
 *  返回:在原数组上修改数组.
 */

//我们也可以用splice来实现.

array.prototype.baoremove = function(dx)
{
    if(isnan(dx)||dx>this.length){return false;}
    this.splice(dx,1);
}
b = ['1','2','3','4','5'];
alert("elements: "+b+"\nlength: "+b.length);
b.baoremove(1); //删除下标为1的元素
alert("elements: "+b+"\nlength: "+b.length);
</script>

本文关键:数组,删除,remove,长度,length,灰豆宝宝.net
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top