MyTetra Share
Делитесь знаниями!
JavaScript - Как перемешать массив случайным образом
Время создания: 05.01.2011 12:09
Текстовые метки: JavaScript, массив
Раздел: Компьютер - Программирование - Java Script
Запись: xintrea/mytetra_syncro/master/base/0000003379/text.html на raw.github.com

Если нужно перемешать эелементы массива в случайном порядке, то это придется сделать самим (в 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) );

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования