Nodejs Array Shuffle shuffle()

Here you can find the source of shuffle()

Method Source Code

// Fisher Yates Shuffle Algorithm

Array.prototype.shuffle = function() {
  var i = this.length
  var j//from  ww  w .  j a va  2  s .  c o  m
  var temp

  if (i > 1) {
    while (--i) {
      j = Math.floor(Math.random() * (i + 1))
      temp = this[i]
      this[i] = this[j]
      this[j] = temp
    }
  }
  return this
}

Related

  1. shuffle()
    Array.prototype.shuffle = function (){
        for(var rnd, tmp, i=this.length; i; rnd=parseInt(Math.random()*i), tmp=this[--i], this[i]=this[rnd], this[rnd]=tmp);
    };
    
  2. shuffle()
    Array.prototype.shuffle = function() { 
        var arr = this, elm, inc, length = arr.length;
        while (length) {
            inc = Math.floor(Math.random() * length--);
            elm = arr[length];
            arr[length] = arr[inc];
            arr[inc] = elm;
        return arr; 
    ...
    
  3. shuffle()
    Array.prototype.shuffle =  function() {
        for (i = this.length - 1; i > 0; i--) {
            var temp = this[i];
            var random = Math.floor(Math.random() * (i + 1));
            this[i] = this[random];
            this[random] = temp;
        return this;
    };
    ...
    
  4. shuffle()
    Array.prototype.shuffle = function() {
      var m = this.length, i;
      while (m) {
        i = (Math.random() * m--) >>> 0;
        [this[m], this[i]] = [this[i], this[m]]
      return this;
    };
    
  5. shuffle()
    Array.prototype.shuffle = function () {
        var newArr = [];
        for (var i = 0; i < this.length; i++) {
            var currElem = this[i];
            var rand = Math.floor(Math.random() * this.length);
            this[i] = this[rand];
            this[rand] = currElem;
        return this;
    ...
    
  6. shuffle()
    Array.prototype.shuffle = function () {
        for (var i = this.length - 1; i > 0; i--) {
            var j = Math.floor(Math.random() * (i + 1));
            var tmp = this[i];
            this[i] = this[j];
            this[j] = tmp;
        return this;
    
  7. shuffle()
    Array.prototype.shuffle = function() {
       var len = this.length;
      var i = len;
       while (i--) {
         var p = parseInt(Math.random()*len);
        var t = this[i];
        this[i] = this[p];
        this[p] = t;
    };
    Array.prototype.filter_sort = function () {
      return this.sort(function(a,b){return a-b});
    };
    
  8. shuffle()
    Array.prototype.shuffle = function() {
      var i = this.length,
          j,
          temp;
      while( --i ) {
        j = Math.floor( Math.random() * (i - 1) );
        temp = this[i];
        this[i] = this[j];
        this[j] = temp;
    ...
    
  9. shuffle()
    Array.prototype.shuffle = function() {
      var i = this.length, j, tempi, tempj;
      if ( i == 0 ) return false;
      while ( --i ) {
         j       = Math.floor( Math.random() * ( i + 1 ) );
         tempi   = this[i];
         tempj   = this[j];
         this[i] = tempj;
         this[j] = tempi;
    ...