Array.prototype.remove = function (s, dust) { //如果dust为ture,则返回被删除的元素

    if (dust) {

        var dustArr = [];

        for (var i = 0; i < this.length; i++) {

            if (s == this[i]) {

                dustArr.push(this.splice(i, 1)[0]);

            }

        }

        return dustArr;

    }

    for (var i = 0; i < this.length; i++) {

        if (s == this[i]) {

            this.splice(i, 1);

        }

    }

    return this;

}

注释:

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

arrayObject.splice(index,howmany,item1,.....,itemX)

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

this.splice(i, 1)[0]表示被删除的元素


Array 对象属性

属性 描述

constructor 返回对创建此对象的数组函数的引用。

length 设置或返回数组中元素的数目。

prototype 使您有能力向对象添加属性和方法。

Array 对象方法

方法 描述

concat() 连接两个或更多的数组,并返回结果。

join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

pop() 删除并返回数组的最后一个元素

push() 向数组的末尾添加一个或更多元素,并返回新的长度。

reverse() 颠倒数组中元素的顺序。

shift() 删除并返回数组的第一个元素

slice() 从某个已有的数组返回选定的元素

sort() 对数组的元素进行排序

splice() 删除元素,并向数组添加新元素。

toSource() 返回该对象的源代码。

toString() 把数组转换为字符串,并返回结果。

toLocaleString() 把数组转换为本地数组,并返回结果。

unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

valueOf() 返回数组对象的原始值