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;
   //from  w w  w  .  ja v a 2 s.c o m
   while(--i > 0) {
      j = Math.floor(Math.random() * (i+1));
      temp = this[j];
      this[j] = this[i];
      this[i] = temp;
   }
   
   return this;
}

// fisher yates algorithm
var arr = [1,2,3,4,5,6,7,8]
var result = arr.shuffle();

console.log(result);

Related

  1. 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;
    };
    ...
    
  2. shuffle()
    Array.prototype.shuffle = function() {
        var i = this.length, j, tempi, tempj;
        if ( i == 0 ) return this;
        while ( --i ) {
            j       = Math.floor( Math.random() * ( i + 1 ) );
            tempi   = this[i];
            tempj   = this[j];
            this[i] = tempj;
            this[j] = tempi;
    ...
    
  3. 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;
    };
    
  4. shuffle()
    Array.prototype.shuffle = function() {
      let input = this;
      for (let i = input.length - 1; i >= 0; i--) {
        let randomIndex = Math.floor(Math.random() * (i + 1));
        let itemAtIndex = input[randomIndex];
        input[randomIndex] = input[i];
        input[i] = itemAtIndex;
      return input;
    ...
    
  5. shuffle()
    Array.prototype.shuffle =  function() {
      var i, j, t;
      for (i = 1; i < this.length; i++) {
        j = Math.floor(Math.random()*(1+i));  
        if (j != i) {
          t = this[i];                        
          this[i] = this[j];
          this[j] = t;
    
  6. shuffle()
    Array.prototype.shuffle = function () {
        var i = this.length, j, temp;
        while (--i>0) {
            j=Math.floor(Math.random() * (i+1));
            temp=this[j];
            array[j]=this[i];
            array [i] = temp;
      return this;
    ...
    
  7. 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;
    };
    
  8. 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;
    };
    
  9. shuffle()
    Array.prototype.shuffle = function() {
        return this.sort(function() {
           return Math.random() - 0.5;
        });
    };