programingsНед, 28.08.11, 19:03 |
Трябва ми джава скрипт, който да генерира числа от предварително зададени му такива, например задавам му 20 числа, и самият скрипт при изпълнение да ми изведе 6 произволно избрани числа от тези 20, които съм му задал предварително! Предварително благодаря! |
insecteaterПон, 29.08.11, 10:48 |
А върши ли ти работа, скрипт, който от предварително зададен масив произволно маха елементи, докато останат да речем 6 (или колкото искаш) в него. Ефекта май е същия (с малко повечко използване на процесора при огромни масиви). <script language="JavaScript">
Array.prototype.sortn = function() {
return this.sort(function(a, b){return a-b;});
}
Array.prototype.reduceRandom = function(count) {
while (this.length > count) {
var ri = Math.floor((Math.random()*this.length));
this.splice(ri, 1);
if (this.length == 0) break;
}
}
var nums = new Array(2, 4, 6, 8, 10, 12, 14, 16, 18, 20);
nums.reduceRandom(3); //Колко елемента да останат - в случая 3
document.write(nums.sortn());
</script> |
Резултат: 4,6,10 или 4,10,20 или 2,16,20 или 10,14,16 и т. н. (всеки път различно) |
programingsПон, 29.08.11, 11:56 | |
phrozencrewЧет, 22.09.11, 20:24 |
Едно предложение и от мен: <script language="JavaScript">
// Деклариране на минимално и максимално число
var min = 1;
var max = 69;
// Брой на случайно-генерираните числа
var randnums = 6;
var nums = [];
var c = 0;
var seqarr =[];
function compare(a,b){return a - b}
for (var num = min; num <= max; num++){nums.push(num)}
do{
var el = nums[Math.floor(Math.random() * nums.length)];
if(seqarr.indexOf(el) != -1){continue}
else {
seqarr.push(el);
c++;
}
}while(c<randnums);
document.write(seqarr.sort(compare));
</script> |
И файлче за тест: JavaScript_random.html |