Методы для объектов JavaScript
Выбрать несколько случайных элементов из массива.
Это скрипт нахождения случайного ОДНОГО элемента, а как метод через прототип, чтобы из массива выбиралось несколько элементов? var arr = ["Александр Анатольевич", "2", "Клубника", "@"]; var rand = Math.floor( Math.random() * arr.length ); alert(arr[rand]); |
Array.prototype.random = function() {
return this[Math.floor(Math.random() * this.length)] ;
} ;
var arr = [1, 2, 3] ;
alert(arr.random()) ;
|
Спасибо большое! А нельзя, чтобы несколько элементов выбиралось?
|
с повторами
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)) ;
|
| Часовой пояс GMT +3, время: 08:13. |