Nodejs Array Shuffle shuffle(n)

Here you can find the source of shuffle(n)

Method Source Code

// n : the max length of the return arr.
Array.prototype.shuffle = function (n) {
    var params = [].slice.call(arguments);
    var index = -1,
        result = this,// w ww  .j  ava  2s .  com
        length = result.length,
        lastIndex = length - 1;

    while (++index < n) {
        var rand = index + Math.floor(Math.random() * (lastIndex - index + 1));
            value = result[rand];

        result[rand] = result[index];
        result[index] = value;
    }
    result.length = n;
    return result;
}

Related

  1. shuffle()
    Array.prototype.shuffle = function () {
        var c = this.slice(0);
        for (var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
        if (this.compare(c)) {
            this.shuffle();
        return this;
    }; 
    
  2. shuffle()
    Array.prototype.shuffle = function(){
      var counter = this.length, temp, index;
        while (counter > 0){
          index = Math.floor(Math.random() * counter);
          counter--;
          temp = this[counter];
          this[counter] = this[index]
          this[index] = temp;
        };
    ...
    
  3. 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;
      return this;
    ...
    
  4. shuffle(b)
    function random(min, max) 
      return Math.floor(Math.random() * (max - min + 1)) + min; 
    };
    function getRandomColor()
      return 'rgb(' + random(0, 255) + ', ' + random(0, 255) + ', ' + random(0, 255) + ')';
    };
    function generateRandomSymbols()
    ...
    
  5. shuffle(maxLength)
    Array.prototype.shuffle = function (maxLength) {
        var currentIndex = this.length
        var temporaryValue;
        var randomIndex;
        var result;
        maxLength = maxLength || this.length
        while (0 !== currentIndex) {
          randomIndex = Math.floor(Math.random() * currentIndex);
          currentIndex -= 1;
    ...
    
  6. shuffle(times)
    Array.prototype.shuffle = function(times) {
        if(undefined === times) times = this.length * 2;
        var temp;
        while(times--) {
            var a = Number.random(0, this.length - 1);
            var b = Number.random(0, this.length - 1);
            temp = this[a];
            this[a] = this[b];
            this[b] = temp;
    ...
    
  7. shuffleMe()
    Array.prototype.shuffleMe = function() {
        var array_length = this.length;
        var loop_no = array_length;
        while (--loop_no > 0) {
            var random_number = Math.floor(Math.random() * (loop_no + 1));
            var value = this[random_number];
            this[random_number] = this[loop_no];
            this[loop_no] = value;
        return this;
    var array = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
    var result = array.shuffleMe();
    console.log(result);
    
  8. shuffled()
    Array.prototype.shuffled = function() {
      return this.map(function(n){ return [Math.random(), n] })
                 .sort().map(function(n){ return n[1] });
    };
    
  9. shuffle(myArray)
    function shuffle(myArray) {
      var i = myArray.length;
      if ( i == 0 ) return false;
      while ( --i ) {
         var j = Math.floor( Math.random() * ( i + 1 ) );
         var tempi = myArray[i];
         var tempj = myArray[j];
         myArray[i] = tempj;
         myArray[j] = tempi;
    ...