给Array添加删除重复元素函数

给Array本地对象增加一个原型方法,它用于删除数组中重复的元素(可能有多个重复),

返回值是一个包含被删除的重复条目的新数组。

Array.prototype.distinct = function() {
    var ret = [];
    for (var i = 0; i < this.length; i++)
    {
        for (var j = i+1; j < this.length;) {
            if (this[i] === this[j]) {
                //此处splice方法用于删除指定位置的元素,1表示删除个数,返回值为删除元素组成的数组
                var del = this.splice(j, 1)[0];
                ret.push(del);
            } else {
                j++;
            }
        }
    }
    return ret;
}
//for test
var arr= ['a',"a",'b','c','d','b','a','e'];
console.log(arr.distinct());
原文地址:https://www.cnblogs.com/scnuwangjie/p/4957139.html