Nodejs Array Shuffle shuffle()

Here you can find the source of shuffle()

Method Source Code

/**/*from  www  .  j av a 2s. c o  m*/
 * Performs a Fisher Yates shuffle on the array
 * @param {Array} array to shuffle
 */
Array.prototype.shuffle = function () {
    var i = this.length;
    while (1 < i--) {
        // generate random integer in the range [0,i]
        var j = Math.floor(Math.random() * (i+1));
        var a_j = this[j];
        this[j] = this[i];
        this[i] = a_j;
    }
};

Related

  1. shuffle()
    Array.prototype.shuffle = function () {
      var input = this;
      var cnt = 1;
      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;
    
  2. 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;
    ...
    
  3. 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;
    ...
    
  4. 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;
    ...
    
  5. shuffle()
    Array.prototype.shuffle = function()
      for(var i=0; i<this.length; i++)
        this.swap(i, parseInt(Math.random() * this.length));
    };
    
  6. shuffle()
    Array.prototype.shuffle = function() {
        var i = this.length
        if (i == 0) return this
        while (--i) {
            var j = Math.floor(Math.random() * (i + 1 ))
            var a = this[i]
            var b = this[j]
            this[i] = b
            this[j] = a
    ...
    
  7. shuffle()
    Array.prototype.shuffle = function() {
      var i = this.length;
      if ( i == 0 ) return;
      while ( --i ) {
         var j = Math.floor( Math.random() * ( i + 1 ) );
         var tempi = this[i];
         var tempj = this[j];
         this[i] = tempj;
         this[j] = tempi;
    ...
    
  8. 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;
    ...
    
  9. shuffle()
    Array.prototype.shuffle = function() {
        var swapbucket = this.length, randomelem, tempswap, tempelem;
        while (swapbucket--) {
            randomelem = Math.floor(Math.random() * (swapbucket + 1));
            tempelem = this[randomelem];
            tempswap = this[swapbucket];
            this[randomelem] = tempswap;
            this[swapbucket] = tempelem;