[color=red]前言:遍历数组并为数组重新赋值是一件让人不爽的事情,这里提供3种移除数组元素的方法。[/color]
/**
* 方法:Array.remove(index)
* 功能:删除数组元素.
* 参数:index删除元素的下标.
* 返回:在原数组上修改数组
*/
Array.prototype.remove=function(index)
{
if(isNaN(index)||index>this.length){return false;}
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[index])
{
this[n++]=this[i]
}
}
this.length-=1
}
/**
* 方法:Array.baoremove(index)
* 功能:删除数组元素.我们也可以用splice来实现
* 参数:index删除元素的下标
* 返回:在原数组上修改数组
*/
Array.prototype.baoremove = function(index)
{
if(isNaN(index)||index>this.length){return false;}
this.splice(index,1);
}
/**
*方法:Array.del(index)
*功能:删除数组的元素
*/
Array.prototype.del=function(index) { //n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
if(index<0) //如果n<0,则不进行任何操作。
return this;
else
return this.slice(0,index).concat(this.slice(index+1,this.length));
/*
concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
这里就是返回this.slice(0,index)/this.slice(index+1,this.length)
组成的新数组,这中间,刚好少了第n项。
slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
*/
}