Array random Pick

by HYEONGJINKIM

HTML

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>

JavaScript

/*function rand(items){
    return items[~~(Math.random() * items.length)];
}
Array.prototype.pick = function (i) {
  return this.splice(i >= 0 ? i : Math.random() * this.length | 0, 1)[0];
};
 var teams = ['patriots', 'colts', 'jets', 'texans', 'ravens', 'broncos'];
console.log(rand(teams));
console.log(teams);

console.log(teams.pick(0));
console.log(teams.pick(1));
console.log(teams.pick(2));
console.log(teams.pick(3));*/
(function($) {
    $.fn.random = function(){var ret = $();if(this.length > 0){ret = ret.add(this[Math.floor((Math.random() * this.length))]);}return ret;};
})(jQuery);
(function($){
    $.fn.rand = function(cnt){
        var cnt = cnt || 1;    
        var elements = $(this).get();
        var ret = $();
        
        for(var i=1, cnt; i<=cnt; i++){        
            (function(i){
                var elePick = elements.splice(~~(Math.random() * elements.length), 1);
                ret = ret.add(elePick);
            }(i));
        }
        
        return ret;
    };
})(jQuery);

//console.log($('li').rand(2));
//console.log($('li').rand(2).length);
$('li').rand(3).css('border' , '1px solid red');