En su día busqué la función mas eficiente para mezclar array, y tras una ardua búsqueda en la internet, me encontré con éste:
Código Javascript
:
Ver originalArray.prototype.mezclar= function() {
var n=this.length;
while(n--)
{
var i=Math.floor(n*Math.random());
var tmp =this[i];
this[i]=this[n];
this[n]=tmp;
}
return this;
}
//Luego donde quieras
var miArray=["aaaaaaa","bbbbbbbbbbb","ccccccccccc","ddddddddddd"];
miArray.mezclar();
Más simple que el funcionamiento de un botijo, pero 100% rápido y fiable.