Показать сообщение отдельно
  #4 (permalink)  
Старый 05.05.2013, 18:26
Аватар для Hekumok
✔
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 03.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 в 18:32.
Ответить с цитированием