Nodejs Array Shuffle shuffle()

Here you can find the source of shuffle()

Method Source Code

Array.prototype.shuffle = function() {
    var i = this.length, j, temp;
    while ( --i > 0 ) {
        j = Math.floor( Math.random() * ( i +1 ));
        temp = this [j];//from w ww.j av  a 2s  .  c o m
        this [j] = this [i];
        this [i] = temp;
    }
    return this;
};
var array =[ 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' ];
var result = array.shuffle();
console.log( result );

Related

  1. shuffle()
    Array.prototype.shuffle = function() {
        return this.sort(function() {
           return Math.random() - 0.5;
        });
    };
    
  2. 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;
    };
    
  3. 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;
    ...
    
  4. 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;
    
  5. 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;
    ...
    
  6. 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;
    ...
    
  7. shuffle()
    Array.prototype.shuffle = function()
      for(var i=0; i<this.length; i++)
        this.swap(i, parseInt(Math.random() * this.length));
    };
    
  8. shuffle()
    Array.prototype.shuffle = function () {
        var i = this.length;
        while (1 < i--) {
            var j = Math.floor(Math.random() * (i+1));
            var a_j = this[j];
            this[j] = this[i];
            this[i] = a_j;
    };
    ...
    
  9. 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
    ...