Nodejs Array Shuffle shuffle()

Here you can find the source of shuffle()

Method Source Code

//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/array/shuffle [v1.0]
Array.prototype.shuffle = function (){ //v1.0
    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;/*from  w  ww .  j  a  v  a  2 s.c  o m*/
};

String.prototype.hashCode = function(){
   // See http://www.cse.yorku.ca/~oz/hash.html      
   var hash = 5381;
   for (i = 0; i < this.length; i++) {
      char = this.charCodeAt(i);
      hash = ((hash<<5)+hash) + char;
      hash = hash & hash; // Convert to 32bit integer
   }
   return hash;
}

Number.prototype.mod = function(n) {
   return ((this%n)+n)%n;
}

Related

  1. shuffle()
    Array.prototype.shuffle = function(){
      for (var i = 0; i < this.length; i++){
          var a = this[i];
          var b = Math.floor(Math.random() * this.length);
            this[i] = this[b];
            this[b] = a;
    module.exports = {
    ...
    
  2. shuffle()
    Array.prototype.shuffle = function() {
        var size = this.length;
        for (var i = 0; i < size; i++) {
            var j = Math.floor(Math.random() * size);
            if (i !== j) {
                var tmp = this[i];
                this[i] = this[j];
                this[j] = tmp;
    };
    
  3. shuffle()
    Array.prototype.shuffle = function() {
      var i = this.length, j, tempi, tempj;
      if ( i == 0 ) return false;
      while ( --i ) {
         j       = Math.floor( Math.random() * ( i + 1 ) );
         tempi   = this[i];
         tempj   = this[j];
         this[i] = tempj;
         this[j] = tempi;
    ...
    
  4. shuffle()
    Array.prototype.shuffle=function() {
      this.sort(function() { return Math.random()-0.5;});
    };
    Array.prototype.remove = function(from, to) {
      var array=this;
      var rest = array.slice((to || from) + 1 || array.length);
      array.length = from < 0 ? array.length + from : from;
      return array.push.apply(array, rest);
    };
    ...
    
  5. shuffle()
    Array.prototype.shuffle = function() {
      var currentIndex = this.length, temporaryValue, randomIndex;
      while (0 !== currentIndex) {
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;
        temporaryValue = this[currentIndex];
        this[currentIndex] = this[randomIndex];
        this[randomIndex] = temporaryValue;
      return this;
    
  6. shuffle()
    Array.prototype.shuffle = function () {
      var i = this.length, j, temp;
      if ( i === 0 ) return false;
      while ( --i ) {
         j = Math.floor( Math.random() * ( i + 1 ) );
         temp = this[i];
         this[i] = this[j]; 
         this[j] = temp;
    
  7. shuffle()
    Array.prototype.shuffle = function() {
      var i = this.length, j, tempi, tempj;
      if ( i == 0 ) return false;
      while ( --i ) {
         j       = Math.floor( Math.random() * ( i + 1 ) );
         tempi   = this[i];
         tempj   = this[j];
         this[i] = tempj;
         this[j] = tempi;
    ...
    
  8. shuffle()
    Array.prototype.shuffle = function() {
      var currentIndex = this.length, temporaryValue, randomIndex;
      while (0 !== currentIndex) {
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;
        temporaryValue = this[currentIndex];
        this[currentIndex] = this[randomIndex];
        this[randomIndex] = temporaryValue;
      return this;
    
  9. shuffle()
    Array.prototype.shuffle = function() {
      var s = [];
      while (this.length)
        s.push(this.splice(Math.random() * this.length, 1));
      while (s.length)
        this.push(s.pop());
      return this;