Nodejs Array Unique uniq()

Here you can find the source of uniq()

Method Source Code

Array.prototype.uniq = function() {
  let res = [];/*from  ww  w  . j a v  a2s.c om*/
  for(let i=0; i < this.length; i++) {
    let value = this[i];
    if (!res.includes(value)) res.push(value);
  }
  return res;
};
console.log([1,2,2,1,1,3].uniq());

function twoSum(arr) {
  let res = [];
  const getIndices = (val, index, array) => {
    for(let i=index+1; i < array.length; i++) {
      if (val + array[i] === 0) res.push([index, i]);
    }
  };
  arr.forEach(getIndices);
  return(res);
}
twoSum([1,2,3,-1,-1,-3]);

Array.prototype.transpose = function() {
  // console.log(this);
  if (this.length === 0 ||
     (this.length === 1 && this[0].length === undefined)) {
    return (this);
  }
  let res = [];
  for(let i=0; i < this[0].length; i++) {
    let row = [];
    for(let j = 0; j < this.length; j++) {
      row.push(this[j][i]);
    }
    res.push(row);
  }
  return (res);
};

console.log( [0].transpose() );
console.log( [[0,1],[2,3],[4,5]].transpose() );

Related

  1. uniq()
    Array.prototype.uniq = function ()
      var dups = [];
      for (var i = 0; i < this.length; i++)
        var flag = true;
        for (var j = 0; j < dups.length; j++)
          if (this[i] === dups[j])
    ...
    
  2. uniq()
    Array.prototype.uniq = function () {
        var flag = false;
        var result = [];
        for(var i=0;i<this.length;i++) {
            if(result.indexOf(this[i]) == -1) {
                if(this[i]==this[i]) {
                    result.push(this[i]);
                else if(!flag) {
    ...
    
  3. uniq()
    Array.prototype.uniq = function(){
      var uniqArray = [];
      for (var i = 0; i < this.length; i++){
        if (uniqArray.indexOf(this[i]) === -1)
          uniqArray.push(this[i])
      return uniqArray
    ...
    
  4. uniq()
    Array.prototype.uniq = function() {  
        var temp = {};
        for(var i=0; i<this.length; i++)  {  
                temp[this[i]] = 1;
        this.length = 0;
        for(var e in temp) {  
            this.push(e);
        this.sort()
        return this;  
    function xmlencode(string) {
        return string.replace(/\&/g,'&'+'amp;').replace(/</g,'&'+'lt;')
            .replace(/>/g,'&'+'gt;').replace(/\'/g,'&'+'apos;').replace(/\"/g,'&'+'quot;');
    
  5. uniq()
    Array.prototype.uniq = function () {
      var uniq_arr = [];
      for (var i = 0; i < this.length; i++) {
        var included = false;
        for (var j = 0; j < uniq_arr.length; j++) {
          if (uniq_arr[j] === this[i]) {
            included = true;
            break;
          };
    ...
    
  6. uniq()
    Array.prototype.uniq = function () {
      var uniqueArray = [];
      for (var i = 0; i < this.length; i++) {
        if (uniqueArray.indexOf(this[i]) === -1) {
          uniqueArray.push(this[i]);
      return uniqueArray;
    };
    ...
    
  7. uniq()
    "use strict";
    Array.prototype.uniq = function () {
      let uniqueArray = [];
      for (let i = 0; i < this.length; i++) {
        if (uniqueArray.indexOf(this[i]) === -1) {
          uniqueArray.push(this[i]);
      return uniqueArray;
    ...
    
  8. uniq()
    Array.prototype.uniq = function () {
      var newArray = [];
      for (var i = 0; i < this.length; i++) {
        var el = this[i];
        if (newArray.indexOf(el) === -1) {
          newArray.push(el);
      return newArray;
    ...
    
  9. uniq()
    Array.prototype.uniq = function() {
      var dups = {},
          cleanArray = [];
          array = this,
          i = 0,
          len = array.length;
      if(this.constructor !== Array) {
        throw new TypeError ('Can only call this method on an array');
      for(i; i < len; i++) {
        if(!dups[array[i]]) {
          cleanArray.push(array[i]);
          dups[array[i]] = true;
      return cleanArray;