Comment rendre aléatoire (shuffle) un tableau JavaScript?

J'ai un tableau comme ceci:

var arr1 = ["a", "b", "c", "d"];

Comment puis-je rendre aléatoire /aléatoire?

jsPerf comparaison des performances de plusieurs méthodes
Juste jeter cette ici que vous pouvez visualiser de façon aléatoire une fonction de lecture aléatoire est en fait avec cette visualizer Mike Bostock fait: bost.ocks.org/mike/shuffle/compare.html
jsPref est mort. Pouvez-vous poster ici ce qui est le plus rapide?
J'ai ajouté réponse qui peuvent être concaténés et de ne pas prolonger le natif de la Matrice de prototype.
Que penser d'un one-liner? Le tableau retourné est battu. arr1.réduire((a,v)=>un.splice(Math.floor(Math.random () *.la longueur), 0, v) && a, [])

OriginalL'auteur Click Upvote | 2010-03-15