Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Перемешать массив случайным образом
Как перемешать массив случайным образом?
Если нужно перемешать эелементы массива в случайном порядке, то ... это придется сделать самим, в 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) );//Перемешать включая вложенные массивы
.
Прокомментировать/Отблагодарить