Показать сообщение отдельно
  #4 (permalink)  
Старый 05.05.2013, 19:26
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

с повторами
Array.prototype.random = function(n) {
 var l = this.length,
 newArr = [] ;
 while(n--)
  newArr.push(this[Math.floor(Math.random() * l)]) ;
 return newArr ;
} ;
var arr = [1, 2, 3, 4, 5] ;
alert(arr.random(3)) ;

Без повторов
Array.prototype.random = function(n) {
 var oldArr = this,
 newArr = [] ;
 while(n--) {
  newArr.push(oldArr.splice(Math.floor(Math.random() * oldArr.length), 1)[0]) ;
 } ;
 return newArr ;
} ;
var arr = [1, 2, 3, 4, 5] ;
alert(arr.random(3)) ;
__________________
★ ²º¹³ ☆

Последний раз редактировалось Hekumok, 05.05.2013 в 19:32.
Ответить с цитированием