Javascript remove all occurrence of duplicate element, leaving the only one that is unique

前端 未结 5 975
谎友^
谎友^ 2020-12-02 01:20

I want to remove elements that occurr more than once and get the unique element. The array always has 3 elements. Lets say i have an array [2,3,2], then I need to get 3 whi

5条回答
  •  天命终不由人
    2020-12-02 01:21

    This should do the trick:

    Array.prototype.getUnique = function(){
        var uniques = [];
        for(var i = 0, l = this.length; i < l; ++i){
            if(this.lastIndexOf(this[i]) == this.indexOf(this[i])) {
                uniques.push(this[i]);
            }
        }
        return uniques;
    }
    
    // Usage:
    
    var a = [2, 6, 7856, 24, 6, 24];
    alert(JSON.stringify(a.getUnique()));
    
    console.log(a.getUnique()); // [2, 7856]

    To check if a specific item is unique in the array, it just checks if the first index it's found at, matches the last index it's found at.

提交回复
热议问题