|
|
|
| Дан массив с n элементов.
Требуется каждый раз выдавать значения этого массива в случайном поряке:
массив:1234......n
выдача:n241.....3
выдача:21n4....3
С хорошим перемешиванием... обязательно выдать все элементы! =) | |
|
|
|
|
|
|
|
для: Bernex
(13.06.2006 в 17:34)
| | И чтоб не халтурили, эй, вы, кто там возьмётся.
Автор: а в чём проблема7 | |
|
|
|
|
|
|
|
для: Bernex
(13.06.2006 в 17:34)
| | Код простенький, я бы сделал как-то так )
<script>
a=[0,1,2,3,4,5,6,7,8,9]; // Создаем массив, для
наглядности с цыфирками )
var i = 0;
var b = new Array();
while(i!=a.length)
{
q=Math.ceil(Math.random()*a.length)-1;
if(!b[q])
{
b[q]=1;
i++;
document.write(a[q]);
}
}
</script>
|
| |
|
|
|
|
|
|
|
для: Бог Зайцев
(13.06.2006 в 22:00)
| |
Array.prototype.shuffle = function( b ) {
var i = this.length, j, t;
while( i ) {
j = Math.floor( ( i-- ) * Math.random() );
t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
this[i] = this[j];
this[j] = t;
}
return this;
};
|
| |
|
|
|
|
|
|
|
для: Bernex
(13.06.2006 в 22:42)
| | Гы! А чё спрашивал тогда?
Бллин, а я ведь тоже хотел сделать как метод Array,
даже название уже придумал: типа - Array.mix().
Но видать не судьба :)
Долго тупил по поводу того, что эта зараза Math.random()
может несколько раз одно и то же число вернуть,
увидел как гениально просто сделано у Бога Зайцева и
думал, что щаз сделаю, но теперь уже смысла нет :) | |
|
|
|
|
|
|
|
для: RMW
(14.06.2006 в 00:29)
| |
Array.prototype.shuffle = function() {
var b = new Array(),c = new Array()
for(i=0;i<(t=this.length);c[i-1]=b[q=(Math.ceil(Math.random()*t))]?i--:b[q]=this[q-1]) i++;
return c;
}
|
)))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
|
|
|
|
|
|
|
для: Бог Зайцев
(14.06.2006 в 06:18)
| |
Кликните по странице<br>
<script>
shuff=function(a){var b=[];
while(a.length)b.push(a.splice(Math.random(a.length)*a.length,1));
return b;}
document.write((a=[1,2,3,4,5,6,7,8,9,0])+'<br>');
document.onclick=function(){document.body.innerHTML+=shuff(a.slice(0))+'<br>';}
</script>
|
| |
|
|
|