当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 删除数组元素.

Javascript
在js中使用"with"语句中跨frame的变量引用问题
原型方法的不同写法居然会影响调试的解决方法
在JavaScript中遭遇级联表达式陷阱
JScript内置对象Array中元素的删除方法
获取JavaScript用户自定义类的类名称的代码
使用TextRange获取输入框中光标的位置的代码
使用onbeforeunload属性后的副作用
IE7提供XMLHttpRequest对象为兼容
encode脚本和normal脚本混用的问题与解决方法
用js判断用户浏览器是否是XP SP2的IE6
关于使用runtimeStyle属性问题讨论文章
javascript学习随笔(使用window和frame)的技巧
javascript学习随笔(编写浏览器脚本 Navigator Scripting )
跑马灯效果大全
让超链接显示提示信息的js代码
打开超链需要“确认”对话框的方法
javascript的对话框详解与参数
让网页上的超链接失效,不能点击的js代码
鼠标经过时链接文字的特别震撼的显示效果
显示页面的所有链接的js代码

Javascript 中的 删除数组元素.


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 332 ::
收藏到网摘: n/a

  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>