上半年在做ExtJS的时候,因为项目一些特殊情况需要直接删数组中的特定元素,
并且传入的参数可能会是下标,也可能会是数组元素。
所以就纠结出了如下的方法,留着以后查阅。
-
- //
获取数组中指定元素的索引 - Array.prototype.getIndexByValue
= function(value) { -
var index = -1; -
for ( vari this.length;= 0; i < 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)); -
} -
for ( vari = 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;