锁定老帖子 主题:js中数组的remove
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-07-04
/* * 方法:Array.remove(dx) * 功能:根据元素值删除数组元素. * 参数:元素值 * 返回:在原数组上修改数组 * 作者:pxp */ Array.prototype.indexOf = function (val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) { return i; } } return -1; }; Array.prototype.removevalue = function (val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } }; /* * 方法:Array.remove(dx) * 功能:根据元素位置值删除数组元素. * 参数:元素值 * 返回:在原数组上修改数组 * 作者:pxp */ 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; }; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-07-06
splice
|
|
返回顶楼 | |
发表时间:2012-07-06
最后修改:2012-07-06
楼主其实可以这样:
function removeItem(arys,item){ for(int i=0;i < arys.length;i++) { if(item == arys[i]) arys.remove(item); } } |
|
返回顶楼 | |
发表时间:2012-07-06
resp 写道 楼主其实可以这样:
function removeItem(arys,item){ for(int i=0;i < arys.length;i++) { if(item == arys[i]) arys.remove(item); } } 恩,这样也可以,后来我又想了一种,代码如下 function remove(index){ return arr.slice(0,index).concat(arr.slice(index+1,arr.length)) } |
|
返回顶楼 | |
发表时间:2012-07-06
嗯, 简介是美
|
|
返回顶楼 | |
发表时间:2012-07-09
SpringLin 写道 嗯, 简介是美
根据元素位置值删除数组元素. list消减后会减少原来的list数目! |
|
返回顶楼 | |
发表时间:2012-07-10
最后修改:2012-07-10
额,好吧,看错楼主主题了。还是把以前收集的remove发出来吧。
Array.prototype.remove = function(from, to) { var rest = this.slice((to || from) + 1 || this.length); this.length = from < 0 ? this.length + from : from; return this.push.apply(this, rest); }; 虽然和楼主的要求不符合。也借鉴下吧。 |
|
返回顶楼 | |
发表时间:2012-07-12
弱弱问一句,你们当splice是吃干饭的么?
|
|
返回顶楼 | |
发表时间:2012-07-13
yinwinzhu 写道 弱弱问一句,你们当splice是吃干饭的么?
弱弱的问一句,你当splice是神么? |
|
返回顶楼 | |
发表时间:2012-07-13
最后修改:2012-07-13
唉,有现成的方法splice,例如myArray.splice(0,1);
splice 方法API: 从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。 arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) 参数 arrayObj 必选项。一个 Array 对象。 start : 必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。 deleteCount : 必选项。要移除的元素的个数。 item1, item2,. . .,itemN : 必选项。要在所移除元素的位置上插入的新元素。 说明:splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。 |
|
返回顶楼 | |