[javascript]

/**

* Returns number starting from offset up to n-1

*/

function getRandomWithOffset(n,offset) {

return Math.floor(Math.random()*n+offset);

}

/**

* Returns random integer from 0 to n-1

*/

function getRandom(n) {

return getRandomWithOffset(n,0);

}

/** Fisherâ€“Yates shuffle algorithm O(n) */

function shuffleList(list) {

for (var i=list.length-1; i>0; i–) {

var j = getRandom(i+1);

var buffer = list[i];

list[i]=list[j];

list[j]=buffer;

}

}

/** Usage example:

var myList = [1,2,3,4,5,6,7,8,9];

shuffleList(myList); //after this the list has been shuffled.

*/

[/javascript]

Note: This is a simple linear algorithm to shuffle. If you need to do some serious shuffling, say you’re creating a poker game or something where it’s crucial where nobody can predict the order of the cards DO NOT USE this algorithm, go for something more complex.