JavaScriptで配列からランダムに値を取得

色々調べてコピペしてみたんですが、何が悪いのか動かなかったもんで勝手に変えました。

大元の配列は使いまわす予定がない前提ですが。

[js]
Array.prototype.random_iterator = function(){
var self = this;
return {
has_next: function(){
return self.length ? true : false;
},
next: function(){
if(!self.length) return null;
var i = Math.floor(Math.random() * self.length);
var x = self.splice(i,1);
return x;
},
count: function(){
return self.length;
}
}
}
[/js]

そして引用元は6年も前って言うね^^;
世の中便利やで……。

http://la.ma.la/blog/diary_200608300350.htm

(JavaScript in TextMate)