Nodejs Array Unique unique2(getKey = val => val)

Here you can find the source of unique2(getKey = val => val)

Method Source Code

Array.prototype.unique2 = function (getKey = val => val) {
  const n = {};/*from w  ww  .j av a2s .c o m*/
  const r = [];
  for (let i = 0; i < this.length; i += 1) {
    const key = getKey(this[i]);
    if (!n[key]) {
      n[key] = true;
      r.push(this[i]);
    }
  }
  return r;
};

Related

  1. unique1()
    Array.prototype.unique1 = function () {
      var a = [],
        o = {},
        n = this.length;
        for (var i=0; i<n; ++i) {
          o[this[i]] = this[i];
        for (var i in o) {
          a.push(o[i]);
    ...
    
  2. unique2()
    Array.prototype.unique2 = function(){
     this.sort(); 
     var res = [this[0]];
     for(var i = 1; i < this.length; i++){
      if(this[i] !== res[res.length - 1]){
       res.push(this[i]);
     return res;
    ...
    
  3. unique2()
    Array.prototype.unique2=function () {
        var n={};
        var tmp=[];
        for(var i=0;i<this.length;i++){
            if(!n[this[i]]){
                n[this[i]]=true;
                tmp.push(this[i]);
        return tmp;
    
  4. unique2()
    Array.prototype.unique2 = function () {
      var a = [],
        n = this.length;
        for (var i=0; i<n; ++i) {
          for (var j=i+1; j<n; ++j) {
            if(this[i]===this[j]) j = ++i;
          a.push(this[i]);
      return a;
    };
    
  5. unique2()
    Array.prototype.unique2 = function () {
      var result = [];
      for (var i = 0; i < this.length; i++) {
        if (result.indexOf(this[i]) == -1) {
          result.push(this[i]);
      return result;
    
  6. unique3()
    Array.prototype.unique3 = function () {
      return this.filter(function (s, i, a) {
        return i===a.lastIndexOf(s);
      })
    };
    
  7. unique3()
    Array.prototype.unique3 = function(){
     var res = [];
     var json = {};
     var dejson = {};
     var length = 0;
     for(var i = 0; i < this.length; i++){
      if(!json[this[i].name]){
       dejson[this[i]] = this[i];
       console.log(dejson[this[i]]);
    ...
    
  8. unique3()
    Array.prototype.unique3 = function(){
      var res = [1,2,3,4,1,2,3,4];
      var json = {};
      for(var i = 0; i < this.length; i++){
          if(!json[this[i]]) {
            res.push(this[i]);
            json[this[i]] = true;
      return res;
    console.log(unique3());
    
  9. unique5()
    Array.prototype.unique5 = function() {
        var res = [], hash = {};
        for(var i=0, elem; (elem = this[i]) != null; i++)  {
            if (!hash[elem])
                res.push(elem);
                hash[elem] = true;
        return res;