当前位置:编程学习 > JAVA >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,