function shuffle( array ) { // Shuffle an array
//
// + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
for(var j, x, i = array.length; i; j = parseInt(Math.random() * i), x = array[--i], array[i] = array[j], array[j] = x);
return true;
}
Ахренеть функция. Сам программирую на javascript 2 года, но такой гипкости исполнения еще не видел
Перемешивание массива можно сделать с помощью функции sort()
С помощью сорта сделать то можно. Но разброс будет очень не равномерный, поэтому его применение не желательно. Лучше делать вот так.
Array.prototype.shuffle = function() {
for (var i = this.length - 1; i > 0; i--) {
var num = Math.floor(Math.random() * (i + 1));
var d = this[num];
this[num] = this[i];
this[i] = d;
}
return this;
}
с каких пор в рандоме нужна равномерность?
С тех пор, как люди начали изучать случайные числа и теорию вероятностей.
А вот моя реализация
sqArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
sqArray.sort(function(a,b){ var c = Math.random()*10; return c<5} );
Вызываем вот так
как-то так. код не проверял - вообще 2 недели программирую на js.