Методы для объектов 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, время: 12:26. |