Nodejs Array Shuffle shuffle()

Here you can find the source of shuffle()

Method Source Code

// much more simple, aha
Array.prototype.shuffle = function() {
    for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
    return this;//w  w  w  .j ava 2s.  c  om
};

// a little more complicated but work the same.
Array.prototype.shuffleC = function function_name() {

  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;

};

var arr = [12, 290, 278, 21,300, 89, 78, 100, 29, 7, 206];
console.log(arr);
console.log(arr.shuffle());
console.log(arr.shuffleC());

Related

  1. shuffle()
    Array.prototype.shuffle = function () {
                var self = this,
                    n = self.length,
                    i,
                    j,
                    tmp;
                for (i = n - 1; i > 0; i -= 1) {
                    j = Math.floor(Math.random() * (i + 1));
                    tmp = self[i];
    ...
    
  2. shuffle()
    Array.prototype.shuffle = function() {
      for(var j, x, k = this.length; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
      return this;
    };
    
  3. shuffle()
    Array.prototype.shuffle = function() {
      var i = this.length, j, temp;
      if ( i === 0 ) { return this; }
      while ( --i ) {
         j = Math.floor( Math.random() * ( i + 1 ) );
         temp = this[i];
         this[i] = this[j];
         this[j] = temp;
      return this;
    };
    
  4. shuffle()
    Array.prototype.shuffle = function(){
        var counter = this.length, temp, index;
        while (counter > 0) {
            index = (Math.random() * counter--) | 0;
            temp = this[counter];
            this[counter] = this[index];
            this[index] = temp;
    };
    ...
    
  5. shuffle()
    Array.prototype.shuffle = function() {
        var i = this.length, j, temp;
        if ( i == 0 ) return this;
        while ( --i ) {
            j = Math.floor( Math.random() * ( i + 1 ) );
            temp = this[i];
            this[i] = this[j];
            this[j] = temp;
        return this;
    function shuffle(array){
        return Array.prototype.shuffle.call(array)
    
  6. shuffle()
    const ranks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
    suits = ["heart", "club", "diamond", "spade"];
    function Card(rank, suit) {
      this.rank = rank;
      this.suit = suit;
    function newDeck() {
      const deck = [];
      for(let i = 1; i < 14; i++){
    ...
    
  7. 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;
    };
    console.log("#FFFEFA".split(", ").shuffle());
    
  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(){
       var new_arr = this.slice(0);
     for (var j, x, i = new_arr.length; i; j = Math.floor(Math.random() * i), x = new_arr[--i], new_arr[i] = new_arr[j], new_arr[j] = x);
       return new_arr;