javascript 直接删除数组元素
上半年在做ExtJS的时候,因为项目一些特殊情况需要直接删数组中的特定元素,并且传入的参数可能会是下标,也可能会是数组元素。
所以就纠结出了如下的方法,留着以后查阅。
/**
* 方法:Array.remove(dx)
* 功能:在原数组上删除数组元素.
* 参数:dx删除元素的下标,或者数组元素(默认为下标)
* 返回:被删除的数组元素
*/
// 获取数组中指定元素的索引
Array.prototype.getIndexByValue = function(value) {
var index = -1;
for ( var i = 0; i < this.length; i++) {
if (this[i] == value) {
index = i;
break;
}
}
return index;
}
// 通过遍历,重构数组.
Array.prototype.remove = function(dx) {
var me = this, removed = null;
if (dx > me.length - 1) {
return false;
}
if (isNaN(dx)) {
removed = me.remove(me.getIndexByValue(dx));
} www.zzzyk.com
for ( var i = 0, n = 0; i < me.length; i++) {
if (me[i] != me[dx]) {
me[n++] = me[i]
} else {
removed = me[i];
}
}
if (removed)
me.length -= 1;
return removed;
}
补充:web前端 , JavaScript ,