Nodejs Array Unique unique()

Here you can find the source of unique()

Method Source Code

Array.prototype.unique = function() {
   var a = this.concat();
   for(var i=0; i<a.length; ++i) {
      for(var j=i+1; j<a.length; ++j) {
         if(a[i] === a[j])
            a.splice(j--, 1);/* w  w w .  java2s.  co m*/
      }
   }
   return a;
};

function mergeRelativeArray(arr,mergePoint) {
   if (arr.length == 1 || mergePoint == arr.length) {
      return arr;
   }
   var p = mergePoint;
   while (p > 0) {
      var arr1 = arr[mergePoint];
      var arr2 = arr[p - 1];
      var unique = arr2.concat(arr1).unique();
      if (unique.length < (arr1.length + arr2.length)) {
         arr.splice(mergePoint, 1);
         arr[p-1] = unique;
         return mergeRelativeArray(arr, 1);
      } else {
         p--;
      }
   }
   return mergeRelativeArray(arr, mergePoint + 1);
}

module.exports = mergeRelativeArray;

Related

  1. unique()
    Array.prototype.unique = function() {
      return this.filter(function(item, idx, array) {
        return array.indexOf(item) === idx;
      });
    
  2. unique()
    Array.prototype.unique = function(){
        var array = [];
        for(var i = 0; i < this.length; i++) {
            if(!array.contains(this[i])) {
                array.push(this[i]);
        return array.compact();
    };
    ...
    
  3. unique()
    Array.prototype.unique = function() {
      var uniques = [];
      this.forEach(function(value) {
        if (uniques.indexOf(value) == -1)
          uniques.push(value);
      });
      return uniques;
    };
    
  4. unique()
    Array.prototype.unique = function() {
      return this.reduce(function(prev_val, current_val) {
        if (prev_val.indexOf(current_val) < 0) {
          prev_val.push(current_val);
        return prev_val;
      }, []);
    };
    Array.prototype.times_do = function(callback) {
    ...
    
  5. unique()
    Array.prototype.unique = function() {
        var a = [];
        for (var i = 0, l = this.length; i < l; i++)
            if (a.indexOf(this[i]) === -1)
                a.push(this[i]);
        return a;
    
  6. unique()
    var numbers = [4,5,4,4,4,5,4,5]
    function unique(arr) {
      var newArr = [];
      for (var i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) < 0) {
          newArr.push(arr[i]);
      return newArr;
    ...
    
  7. unique()
    Array.prototype.unique = function(){
       var u = {}, a = [];
       for(var l = 0, i = this.length-1; i >= 0; --i){
          if(u.hasOwnProperty(this[i])) {
             continue;
          a.unshift(this[i]);
          u[this[i]] = 1;
       return a;
    };
    
  8. unique()
    Array.prototype.unique = function() {
      var key, output, value, _ref, _results;
      output = {};
      for (key = 0, _ref = this.length; 0 <= _ref ? key < _ref : key > _ref; 0 <= _ref ? key++ : key--) {
        output[this[key]] = this[key];
      _results = [];
      for (key in output) {
        value = output[key];
    ...
    
  9. unique()
    Array.prototype.unique = function () {
        return this.filter(function (value, index, array) {
            return array.indexOf(value) === index;
        });
    };