Примеры JavaScript - Как перемешать массив случайным образом?
ОГЛАВЛЕНИЕ
Страница 16 из 47
Как перемешать массив случайным образом?
Если нужно перемешать эелементы массива в случайном порядке, то ... это придется сделать самим, в Javascript нет функции shuffle такой как в PHP:
/* Array.shuffle( deep ) - перемешать элементы массива случайным образом
deep - необязательный аргумент логического типа, указывающий на то, 
       нужно ли рекурсивно обрабатывать вложенные массивы;
       по умолчанию false (не обрабатывать)
*/
Array.prototype.shuffle = function( b )
{
 var i = this.length, j, t;
 while( i ) 
 {
  j = Math.floor( ( i-- ) * Math.random() );
  t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
  this[i] = this[j];
  this[j] = t;
 }
 return this;
}; Примеры использования:
var a = new Array(1,2,3,4,5);
alert( a.shuffle() );
alert( ['a','b','c', [1,2,3,4,5], 'D','E','F'].shuffle(true) );//Перемешать включая вложенные массивы
