/** * 方法: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方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。 */ }
原文地址:http://boonya.iteye.com/blog/1856502