AngularJS Live Example
HTML
<div ng:app="ShuffleModule">
<div ng-controller="ShuffleController">
<a ng-click="useLetters()">A letter</a> | <a ng-click="useNumbers()">A number</a>
<ul>
<li ng-repeat="value in array | shuffle | limitTo:1">
{{value}}
</li>
</ul>
</div>
</div>
JavaScript
var shufflemodule = angular.module('ShuffleModule', []);
shufflemodule.filter('shuffle', function() {
return function(o) {
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
});
function ShuffleController($scope) {
var letters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'];
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
$scope.array = letters;
$scope.useLetters = function() { $scope.array = letters; };
$scope.useNumbers = function() { $scope.array = numbers; };
}