рандомный выбор нескольких значений из массива
Всем привет! Как можно выбрать из массива рандомно несколько элементов? Например вот такой массив из него нужно рандомно выбирать 5 изображений. Спасибо
var imgRand; imgRand = []; imgRand[0] = "img/1.png"; imgRand[1] = "img/2.png"; imgRand[2] = "img/3.png"; imgRand[3] = "img/4.png"; imgRand[4] = "img/5.png"; imgRand[5] = "img/6.png"; imgRand[6] = "img/7.png"; imgRand[7] = "img/8.png"; imgRand[8] = "img/9.png"; imgRand[9] = "img/10.png"; imgRand[10] = "img/11.png"; |
Цитата:
http://javascript.ru/math.random |
ksa,
тип того ?
for (var i = 0; i < 5; i++) {
var a = Math.floor(Math.random() * img.length);
}
|
Цитата:
Если без повторений - нужно немного усложнить. |
ksa,
нужно что бы без повторений, а то получается с повторениями((( |
Цитата:
- еще один массив (ЕОМ), где значениями будут индексы исходного массива (ИМ) - выбирать (как делал ранее) случайно элемент из ЕОМ, это искомый индекс в ИМ - потом удалять этот элемент или "переставлять" его в конец ЕОМ Вот таким макаром можно избежать повторений. |
var images = [
"img/1.png",
"img/2.png",
"img/3.png",
"img/4.png",
"img/5.png",
"img/6.png",
"img/7.png",
"img/8.png",
"img/9.png",
"img/10.png",
"img/11.png"
];
function randomArray(arr, len) {
arr.sort(function () {
return Math.random() > 0.5
});
arr.length = len;
return arr;
}
alert(randomArray(images, 5));
alert(randomArray(images, 3));
:write:данный пример генерит не совсем рандомную случайность. так у первых элементов шансов быть в результате больше смотрите array shuffle js |
Poznakomlus,
Спасибо за помощь всем!!!!! |
| Часовой пояс GMT +3, время: 12:58. |