Nodejs Array Shuffle shuffle()

Here you can find the source of shuffle()

Method Source Code

//this method adds a shuffle routine to the javascript array
Array.prototype.shuffle = function () {
   var input = this;
   var cnt = 1;/*from w  ww.j  av  a  2s.com*/
   for (var i = input.length - 1; i >= 0; i--) {

      var randomIndex = Math.floor(Math.random(cnt++) * (i + 1));
      var itemAtIndex = input[randomIndex];

      input[randomIndex] = input[i];
      input[i] = itemAtIndex;
   }
   return input;
}

Related

  1. shuffle()
    "use strict"
    Array.prototype.shuffle = function() {
        var input = this;
        for (var i = input.length-1; i >=0; i--) {
            var randomIndex = Math.floor(Math.random()*(i+1)); 
            var itemAtIndex = input[randomIndex]; 
            input[randomIndex] = input[i]; 
            input[i] = itemAtIndex;
        return input;
    };
    
  2. shuffle()
    Array.prototype.shuffle = function () {
      for(var j, x, i = this.length; i; j = Math.floor(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
      return this;
    };
    
  3. shuffle()
    Array.prototype.shuffle = function() {
        return this.sort(function() {
           return Math.random() - 0.5;
        });
    };
    
  4. 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;
    };
    
  5. shuffle()
    Array.prototype.shuffle = function() {
      var l = this.length + 1;
      while (l--) {
        var r = ~~(Math.random() * l);
        var o = this[r];
        this[r] = this[0];
        this[0] = o;
      return this;
    ...
    
  6. shuffle()
    Array.prototype.shuffle = function () {
        var tmp, current, top = this.length;
        if (top) while(--top) {
            current = Math.floor(Math.random() * (top + 1));
            tmp = this[current];
            this[current] = this[top];
            this[top] = tmp;
        return this;
    ...
    
  7. shuffle()
    Array.prototype.shuffle = function() {
        var i = this.length, j, temp;
        while ( --i > 0 ) {
            j = Math.floor( Math.random() * ( i +1 ));
            temp = this [j];
            this [j] = this [i];
            this [i] = temp;
        return this;
    ...
    
  8. shuffle()
    Array.prototype.shuffle = function(){
      var m = this.length, t, i;
      while (m) {
        i = Math.floor(Math.random() * m--);
        t = this[m];
        this[m] = this[i];
        this[i] = t;
      return this;
    ...
    
  9. shuffle()
    Array.prototype.shuffle = function()
      for(var i=0; i<this.length; i++)
        this.swap(i, parseInt(Math.random() * this.length));
    };