Xüsusi bir javascriptdə təsadüfi tam ədəd yaradır?

Məsələn, Javascript-də iki müəyyən dəyişən arasında təsadüfi bir tam ədəd yarada bilərəm. x = 4y = 8 , 4, 5, 6, 7, 8 hər hansı birini göstərir?

1594
06 окт. zacharyliu 06 oct tərəfindən təyin . 2009-10-06 23:05 '09 at 11:05 pm 2009-10-06 23:05
@ 26 cavab

Mozilla Developer Network səhifəsində bir neçə misal var:

  function getRandomArbitrary(min, max) { return Math.random() * (max - min) + min; }  function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; } 

Bunun arxasında məntiqdir. Bu üçün sadə bir qayda:

Math.random() bir Number 0 (daxil) ilə 1 (istisna olmaqla Math.random() qaytarır. Beləliklə, bu müddət var:

 [0 .................................... 1) 

İndi min (inclusive) dən max (eksklüziv) bir rəqəm istərdik:

 [0 .................................... 1) [min .................................. max) 

Math.random intervalda [min, max] müxbir əldə etmək üçün istifadə edə bilərik. Ancaq ilk olaraq, ikinci aralığından ən min çıxaraq problemi bir az azaltmalıyıq:

 [0 .................................... 1) [min - min ............................ max - min) 

Bu verir:

 [0 .................................... 1) [0 .................................... max - min) 

İndi Math.random tətbiq edə Math.random və sonra müxbir hesablaya Math.random . Rastgele bir nömrə seçməyim:

  Math.random() | [0 .................................... 1) [0 .................................... max - min) | x (what we need) 

Beləliklə, x tapmaq üçün biz:

 x = Math.random() * (max - min); 

min ardıcıllığını əlavə etməyi unutmayın, belə ki, intervalda [min, max] bir nömrə əldə edək:

 x = Math.random() * (max - min) + min; 

Bu, MDN-in ilk funksiyası idi. İkincisi, hər ikisi daxil olmaqla, min maxdən bir tamsayı verir.

İndi tamsayı almaq üçün round , ceil və ya floor istifadə edə bilərsiniz.

Math.round(Math.random() * (max - min)) + min istifadə edə bilərsiniz, ancaq bu qeyri-bərabər bir dağılım verir. Hər iki minmax bir atış şansının yarısı var:

 min...min+0.5...min+1...min+1.5 ... max-0.5....max └───┬───┘└────────┬───────┘└───── ... ─────┘└───┬──┘ ← Math.round() min min+1 max 

Məqsəd aralıqdan kənara çıxdığından, atışdan min şansa malikdir.

Math.floor(Math.random() * (max - min +1)) + min siz mükəmməl bir şəkildə bölüşdürülür.

 min.... min+1... min+2 ... max-1... max.... max+1 (is excluded from interval) | | | | | | └───┬───┘└───┬───┘└─── ... ┘└───┬───┘└───┬───┘ ← Math.floor() min min+1 max-1 max 

Bu tənlikdə ceil()-1 istifadə edə bilməzsiniz, çünki max atış bir az daha az şansa malikdir, lakin atmaq da mümkündür (istenmeyen) min-1 .

3247
06 окт. cavab Ionuţ G. Stan'a verildi Oct 06 2009-10-06 23:08 '09 da 23:08 'da 2009-10-06 23:08
 var randomnumber = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; 
border=0
474
06 окт. Cavab Darin Dimitrov tərəfindən Oct 06 idi 2009-10-06 23:09 '09 at 11:09 PM 2009-10-06 23:09

Math.random ()

Mozilla Developer Network sənədlərindən:

 // Returns a random integer between min (include) and max (include) Math.floor(Math.random() * (max - min + 1)) + min; 

Faydalı nümunələr:

 // 0 - 10 Math.floor(Math.random() * 11); // 1 - 10 Math.floor(Math.random() * 10) + 1; // 5 - 20 Math.floor(Math.random() * 16) + 5; // -10 - (-2) Math.floor(Math.random() * 9) - 10; 
86
25 марта '15 в 4:58 2015-03-25 04:58 Cavab Lior Elrom tərəfindən 25 Mart 'da 4:58' də veriləcəkdir 2015-03-25 04:58
 function getRandomizer(bottom, top) { return function() { return Math.floor( Math.random() * ( 1 + top - bottom ) ) + bottom; } } 

istifadə edin:

 var rollDie = getRandomizer( 1, 6 ); var results = "" for ( var i = 0; i<1000; i++ ) { results += rollDie() + " "; //make a string filled with 1000 random numbers in the range 1-6. } 

qəza:

Bir funksiyanı qaytarırıq (funksional proqramlaşdırma ilə borcalanma), çağırıldığında bottomtop dəyərlər arasında təsadüfi bir tamsayı qaytarır. Biz "inklüziv" deyirik, çünki biz aşağı və yuxarıdakıları geri qaytarmaq mümkün olan rəqəmlər aralığına daxil etmək istəyirik. Beləliklə, getRandomizer( 1, 6 ) 1, 2, 3, 4, 5 və ya 6 qayıdır.

(alt aşağı nömrə, üst - daha çox sayı)

 Math.random() * ( 1 + top - bottom ) 

Math.random() 0 və 1 arasında təsadüfi əkizləri qaytarır və əgər biz topbottom arasındakı fərqi bir-birinə Math.random() , 01+ba arasındakı bir cütlüyü alırıq.

 Math.floor( Math.random() * ( 1 + top - bottom ) ) 

Math.floor ədədi ən yaxın tamsayıya Math.floor . Beləliklə, indi 0top-bottom olan bütün tamsayılarımız var. 1 qarışıq görünür, amma orada olmağımız lazımdır, çünki biz həmişə yuvarlaqlaşırıq, beləliklə üst nömrə asla çatmayacaqdır. Ürettiğimiz oluşturulan ondalık sayı 0'dan (1+top-bottom) aralığında olmalıdır, beləliklə biz yuvarla və 0 dan top-bottom aralıqda bir int əldə edə bilərik

 Math.floor( Math.random() * ( 1 + top - bottom ) ) + bottom 

Əvvəlki nümunədə olan kod bizə 0top-bottom bir tamsayı verdi, belə ki, biz lazım olan bütün bu nəticə bottomtop daxilində bir tamsayı almaq üçün bu nəticəyə əlavə etməkdir: D


Qeyd. Əgər qeyri-tamsayı dəyər və ya daha çox sayı keçirsəniz, arzuolunmaz bir davranış əldə edərsiniz, amma kimsə bunun üçün xahiş etməsə, orijinal sualın niyyətindən olduqca uzaq olduğundan, arqumentlər üçün doğrulama koduna daxil olmayacağam.

50
06 окт. Gordon Gustafson tərəfindən verilmiş cavab oktyabr 06 2009-10-06 23:08 '09 da 23:08 'da 2009-10-06 23:08
 function randomRange(min, max) { return ~~(Math.random() * (max - min + 1)) + min } 

Alternativ olaraq, Underscore.js istifadə etsəniz istifadə edə bilərsiniz

 _.random(min, max) 
28
09 февр. Codler cavab verdi 09 fevral. 2013-02-09 22:51 '13 at 10:51 pm 2013-02-09 22:51

1 ilə 10 arasında təsadüfi bir sıra qaytarır:

 Math.floor((Math.random()*10) + 1); 

1 ilə 100 arasında təsadüfi bir sıra qaytarır:

 Math.floor((Math.random()*100) + 1) 
28
28 марта '14 в 14:31 2014-03-28 14:31 Cavab Prasobh.K 28 mart 14: 14-də verilir 2014-03-28 14:31

Digər cavablar 01 olduqca ağlabatan parametrləri nəzərə almır. Bunun əvəzinə round yerinə ceilfloor istifadə edin:

 function randomNumber(minimum, maximum){ return Math.round( Math.random() * (maximum - minimum) + minimum); } console.log(randomNumber(0,1)); # 0 1 1 0 1 0 console.log(randomNumber(5,6)); # 5 6 6 5 5 6 console.log(randomNumber(3,-1)); # 1 3 1 -1 -1 -1 
13
21 июля '14 в 19:42 2014-07-21 19:42 Cavab, Starkers tərəfindən 21 İyul 2014 'də saat 19:42' da verilir

Bir kompüter proqramı istifadə edərək təsadüfi bir sıra yaratdıqdan sonra, seçilmiş nömrə orijinalın bir hissəsi və ya tamamlandığı təqdirdə hələ təsadüfi sayılır. Amma əgər bu dəyişikliyə uğrayıb riyaziyyatçılar təsadüfi sayını qəbul etmirlərsə, onu qərəzli bir nömrə deyə bilərlər. Ancaq sadə bir vəzifə üçün bir proqram inkişaf etdirdiyiniz təqdirdə bu olmaz. Amma bir lotereya proqramı və ya qumar oyun kimi qiymətli materiallar üçün təsadüfi bir ədəd yaratmaq üçün bir proqram inkişaf etdirdiyiniz təqdirdə, bu işi düşünmürsəniz, proqramınız idarə tərəfindən rədd ediləcəkdir.

Yəni bu insanlar üçün, mənim təklifim:

Math.random() (məsələn, bu n )

 Now for [0,10) ==> n*10 (ie one digit) and for[10,100) ==> n*100 (ie two digits) and so on. Here squire bracket indicates that boundary is inclusive and round bracket indicates boundary is exclusive. Then remove the rest after the decimal point. (ie get floor) - using Math.floor(), this can be done. 

Təsadüfi ədədlərin təsadüfi sayını seçmək üçün necə bir stolun oxumasını bilirsinizsə, yuxarıda göstərilən prosesin (1, 10, 100, və s. Vurma) başlanğıcda göstərdiyim bir şeyi pozmadığını bilirsiniz. (Çünki ondalık nöqtənin yeri dəyişir).

Aşağıdakı nümunəni araşdırın və ehtiyaclarınız üçün onu tərtib edin.

Əgər nümunə [0,9] ehtiyacınız varsa, onda n * 10 mərtəbəsi sizin cavabınızdır və sizə lazımdırsa [0.99], onda n * 100 zəngi və s.

İndi rolunuzu daxil edin:

Müəyyən bir sıra arasında nömrələr tələb etdik. (Bu halda, bu aralığa qarşı qərəzli olduğunuzdur) - [1.6] bir ədəd qəbul edərək, bir kubun çevrilməsi, [1.6] asılılığına çevrilirsiniz, ancaq ölüm xeyli olsa, hələ də təsadüfi bir vəziyyətdir.

Beləliklə, ==> [78, 247] aralığınızdakı elementlərin sayını nəzərdən keçirin = 247 - 78 + 1 = 170; (həm sərhədlər daxil edilir.

  var i = 78, j = 247, k = 170, a = [], b = [], c, d, e, f, l = 0; for(; i <= j; i++){ a.push(i); } while(l < 170){ c = Math.random()*100; c = Math.floor(c); d = Math.random()*100; d = Math.floor(d); b.push(a[c]); e = c + d; if((b.length != k)  (e < k)){ b.push(a[e]); } l = b.length; } console.log('Method 1:'); console.log(b);  var a, b, c, d = [], l = 0; while(l < 170){ a = Math.random()*100; a = Math.floor(a); b = Math.random()*100; b = Math.floor(b); c = a + b; if(c <= 247 || c >= 78){ d.push(c); }else{ d.push(a); } l = d.length; } console.log('Method 2:'); console.log(d); 

Qeyd Birincisi, ilk metodda mən sizə lazım olan nömrələri olan bir sıra yaratdım və sonra təsadüfi bir başqa sətrə yerləşdirdilər. İki üsulla təsadüfi ədədlər yaratmaq və onları lazım olan sıra ilə test edin. Sonra bir sıra qoyun. Burada iki təsadüfi ədəd yaratdım və proqramın sürətini maksimuma çatdırmaq, uğursuzluq səviyyəsini minimuma endirmək, faydalı bir nömrə əldə etmək üçün istifadə etdik. Buna baxmayaraq, yaradılan ədədlər də əlavə yanaşma verəcəkdir. Buna görə, müəyyən bir sıra təsadüfi ədəd yaratmaq üçün ilk üsulumu təklif edirəm.

Hər iki üsulda da konsolunuz nəticə göstərəcək. (Konsolun açılması üçün Chrome-da f12 düyməsini basın)

10
10 февр. Cavab Janaka R Rajapaksha tərəfindən verilmişdir 10 fevral. 2013-02-10 16:22 '13 'da 16:22 2013-02-10 16:22

Bir sıra təsadüfi tamsayı üçün:

 function random(minimum, maximum) { var bool = true; while (bool) { var number = (Math.floor(Math.random() * maximum + 1) + minimum); if (number > 20) { bool = true; } else { bool = false; } } return number; } 
9
26 окт. istifadəçi tərəfindən verilmiş cavab 1764199 26 oktyabr 2012-10-26 01:15 '12 1:15 2012-10-26 01:15

0 və max arasında bir dəyişməyə ehtiyacınız varsa, istifadə edə bilərsiniz:

 Math.floor(Math.random() * max); 
9
02 окт. Stanislav Vincent tərəfindən verilən cavab 02 oktyabr. 2017-10-02 11:30 '17 saat 11:30 'da 2017-10-02 11:30

Burada MS DotNet javascript-də təsadüfi sinfi yerləşdirmə -

 var Random = (function () { function Random(Seed) { if (!Seed) { Seed = this.milliseconds(); } this.SeedArray = []; for (var i = 0; i < 56; i++) this.SeedArray.push(0); var num = (Seed == -2147483648) ? 2147483647 : Math.abs(Seed); var num2 = 161803398 - num; this.SeedArray[55] = num2; var num3 = 1; for (var i_1 = 1; i_1 < 55; i_1++) { var num4 = 21 * i_1 % 55; this.SeedArray[num4] = num3; num3 = num2 - num3; if (num3 < 0) { num3 += 2147483647; } num2 = this.SeedArray[num4]; } for (var j = 1; j < 5; j++) { for (var k = 1; k < 56; k++) { this.SeedArray[k] -= this.SeedArray[1 + (k + 30) % 55]; if (this.SeedArray[k] < 0) { this.SeedArray[k] += 2147483647; } } } this.inext = 0; this.inextp = 21; Seed = 1; } Random.prototype.milliseconds = function () { var str = new Date().valueOf().toString(); return parseInt(str.substr(str.length - 6)); }; Random.prototype.InternalSample = function () { var num = this.inext; var num2 = this.inextp; if (++num >= 56) { num = 1; } if (++num2 >= 56) { num2 = 1; } var num3 = this.SeedArray[num] - this.SeedArray[num2]; if (num3 == 2147483647) { num3--; } if (num3 < 0) { num3 += 2147483647; } this.SeedArray[num] = num3; this.inext = num; this.inextp = num2; return num3; }; Random.prototype.Sample = function () { return this.InternalSample() * 4.6566128752457969E-10; }; Random.prototype.GetSampleForLargeRange = function () { var num = this.InternalSample(); var flag = this.InternalSample() % 2 == 0; if (flag) { num = -num; } var num2 = num; num2 += 2147483646.0; return num2 / 4294967293.0; }; Random.prototype.Next = function (minValue, maxValue) { if (!minValue  !maxValue) return this.InternalSample(); var num = maxValue - minValue; if (num <= 2147483647) { return parseInt((this.Sample() * num + minValue).toFixed(0)); } return this.GetSampleForLargeRange() * num + minValue; }; Random.prototype.NextDouble = function () { return this.Sample(); }; Random.prototype.NextBytes = function (buffer) { for (var i = 0; i < buffer.length; i++) { buffer[i] = this.InternalSample() % 256; } }; return Random; }()); 

Ərizə:

  var r = new Random(); var nextInt = r.Next(1, 100); //returns an integer between range var nextDbl = r.NextDouble(); //returns a random decimal 
9
15 нояб. Cavab Ariful Islam tərəfindən verilir 15 noyabr. 2016-11-15 08:38 '16 ' da saat 08:38' də 2016-11-15 08:38 'də

Aşağıdakı kodu istifadə edərək, bir sıra təkrarlanmadan təsadüfi ədədlərin bir sıra yarada bilərsiniz.

 function genRandomNumber(how_many_number,min,max) { // parameters // how_many_number : how many numbers you want to generate. For example it is 5. // min(inclusive) : minimum/low value of a range. it must be any positive integer but less than max. ie 4 // max(inclusive) : maximun value of a range. it must be any positive integer. ie 50 // return type: array var random_number = []; for (var i = 0; i < how_many_number; i++) { var gen_num = parseInt((Math.random() * (max-min+1)) + min); do { var is_exist = random_number.indexOf(gen_num); if (is_exist >= 0) { gen_num = parseInt((Math.random() * (max-min+1)) + min); } else { random_number.push(gen_num); is_exist = -2; } } while (is_exist > -1); } document.getElementById('box').innerHTML = random_number; } 
7
19 авг. Cavab Yusuf 19 avqustda verilir . 2015-08-19 19:43 '15 'də saat 19:43 ' da

Təsadüfi sayını əldə etmək üçün, demək lazımdır ki, 1-dən 6-dək, ilk işləyin:

  0.5 + (Math.random() * ((6 - 1) + 1)) 

Bu, təsadüfi sayını 6-ya qədər artırır və sonra 0,5-ə əlavə edir. Nömrəni işləyərək müsbət bir tamsayıya çevirin:

  Math.round(0.5 + (Math.random() * ((6 - 1) + 1)) 

Bu nömrə ən yaxın tamsayıdır.

Və ya daha aydın başa düşmək üçün aşağıdakıları edin:

  var value = 0.5 + (Math.random() * ((6 - 1) + 1)) var roll = Math.round(value); return roll; 

Ümumiyyətlə, bu kod dəyişənləri istifadə edir:

  var value = (Min - 0.5) + (Math.random() * ((Max - Min) + 1)) var roll = Math.round(value); return roll; 

Minimum dəyərdən 0.5-ə çıxarmağın səbəbi yalnız minimum dəyəri istifadə edərək maksimum dəyərinizdən daha çox olan bir tamsayı əldə etməyə imkan verəcəkdir. Minimum dəyərdən 0,5-dən çıxararaq, əsasən maksimum dəyərin yuvarlaqlaşdırılmasına mane olur.

Bu kömək edir.

7
22 июля '13 в 8:56 2013-07-22 08:56 cavab 22 İyul 2013 tarixində 8:56 2013-07-22 08:56 Learner.js tərəfindən verilmişdir

Ən aşağı və ən yüksək arasındakı təsadüfi tamsayı:

 function randomRange(l,h){ var range = (hl); var random = Math.floor(Math.random()*range); if (random === 0){random+=1;} return l+random; } 

Ən zərif həll deyil .. ancaq sürətli bir şey.

6
30 сент. Cavab 30 sentyabrda verilir 2013-09-30 03:44 '13 saat 03:44 ' də 2013-09-30 03:44

Mən bu sualın artıq cavablandırıldığını bilirəm, amma cavabım kimsə üçün kömək edə bilər.

W3School'larda bu sadə üsul tapdım:

 Math.floor((Math.random() * max) + min); 

Bu birinə kömək edir.

6
24 апр. PeMaCN tərəfindən 24 apreldə cavab verildi 2016-04-24 18:51 '16 'da saat 18:51' da 2016-04-24 18:51

Burada təsadüfi ədəd yaratmaq üçün istifadə edirəm.

 function random(high,low) { high++; return Math.floor((Math.random())*(high-low))+low; } 

Math.random() 0, (daxil) və 1 (istisna) arasında təsadüfi bir sıra yaradır, çünki high++ həyata Math.random() . Həll edilməmişdir ki, hər hansı bir riyaziyyat vermədən əvvəl maksimum dərəcədə artırmalıyıq. Daha sonra aşağı qiyməti maksimumdan çıxarmalıyıq, bu da bizi normal vəziyyətə qaytarır və ən azı ən aşağı səviyyədə olan aşağı, sonra + aşağı əmələ gətirməyə imkan verir. sonra ortaya çıxan sayını qaytarırıq

random(7,3) 3,4,5,6, or 7 qayıda bilər

5
04 янв. Travis Jan 04 tərəfindən verilmiş cavab 2015-01-04 06:39 '15 at 6:39 'də 2015-01-04 06:39
  <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <script>  var array = new Uint8Array(2); window.crypto.getRandomValues(array); console.log(array[0] + array[1]); </script> </body> </html> 

Uint8Array ən çox üç dəqiqə ilə doldurulmuş bir sətir yaratır ki, bu da ən çox 999 olmalıdır. Bu kod çox qısadır.

4
13 дек. Cavab verilmişdir xoşbəxt 13 dekabr 2015-12-13 02:47 '15 'də 2:47' də 2015-12-13 02:47
 function rnd(min,max){ return Math.floor(Math.random()*(max-min+1)+min ); } 
3
16 авг. Cavab Aylian Craspa 16 aug tərəfindən verilir . 2018-08-16 07:42 '18 saat 07:42; 2018-16 07:42
 function getRandomInt(lower, upper) { //to create an even sample distribution return Math.floor(lower + (Math.random() * (upper - lower + 1))); //to produce an uneven sample distribution //return Math.round(lower + (Math.random() * (upper - lower))); //to exclude the max value from the possible values //return Math.floor(lower + (Math.random() * (upper - lower))); } 

Bu xüsusiyyət və bu xüsusiyyətin varyasyonlarını test etmək üçün aşağıdakı HTML / JavaScript faylını saxlayaraq brauzerdə açın. Kodda bir milyon funksiya çağırışının paylanmasını göstərən bir grafik göstərilir. Kod da kənar hallarda qeyd edər, belə ki funksiya maksimumdan az və ya daha az bir dəyər çıxarsa, you.will.know.about.it.

 <html> <head> <script type="text/javascript"> function getRandomInt(lower, upper) { //to create an even sample distribution return Math.floor(lower + (Math.random() * (upper - lower + 1))); //to produce an uneven sample distribution //return Math.round(lower + (Math.random() * (upper - lower))); //to exclude the max value from the possible values //return Math.floor(lower + (Math.random() * (upper - lower))); } var min = -5; var max = 5; var array = new Array(); for(var i = 0; i <= (max - min) + 2; i++) { array.push(0); } for(var i = 0; i < 1000000; i++) { var random = getRandomInt(min, max); array[random - min + 1]++; } var maxSample = 0; for(var i = 0; i < max - min; i++) { maxSample = Math.max(maxSample, array[i]); } //create a bar graph to show the sample distribution var maxHeight = 500; for(var i = 0; i <= (max - min) + 2; i++) { var sampleHeight = (array[i]/maxSample) * maxHeight; document.write('<span style="display:inline-block;color:'+(sampleHeight == 0 ? 'black' : 'white')+';background-color:black;height:'+sampleHeight+'px"> + (i + min - 1) + ']: } document.write('<hr/>'); </script> </head> <body> </body> </html> 
3
06 окт. Chris Oct 06'a cavab verin 2009-10-06 23:09 '09 at 11:09 PM 2009-10-06 23:09

Bu mənada təsadüfi bir nömrə seçimi məndən, basitdən eksponentə qədər təsadüfi bir sıra almaq istədim. məsələn, base = 10, exponent = 2, 0 ilə 100 arasında təsadüfi bir sıra verir, idealdır və s.

əgər o, istifadə etmək üçün kömək edirsə, burada:

 // get random number within provided base + exponent // by Goran Biljetina --> 2012 function isEmpty(value){ return (typeof value === "undefined" || value === null); } var numSeq = new Array(); function add(num,seq){ var toAdd = new Object(); toAdd.num = num; toAdd.seq = seq; numSeq[numSeq.length] = toAdd; } function fillNumSeq (num,seq){ var n; for(i=0;i<=seq;i++){ n = Math.pow(num,i); add(n,i); } } function getRandNum(base,exp){ if (isEmpty(base)){ console.log("Specify value for base parameter"); } if (isEmpty(exp)){ console.log("Specify value for exponent parameter"); } fillNumSeq(base,exp); var emax; var eseq; var nseed; var nspan; emax = (numSeq.length); eseq = Math.floor(Math.random()*emax)+1; nseed = numSeq[eseq].num; nspan = Math.floor((Math.random())*(Math.random()*nseed))+1; return Math.floor(Math.random()*nspan)+1; } console.log(getRandNum(10,20),numSeq); //testing: //getRandNum(-10,20); //console.log(getRandNum(-10,20),numSeq); //console.log(numSeq); 
3
07 окт. Goran B. tərəfindən verilmiş cavabı Oct 07. 2015-10-07 08:05 '15 'də saat 08:05' da

Math.random () istifadə etmədən hər hansı bir müəyyən uzunluğu təsadüfi sayda yarada bilən bir javascript funksiyasının nümunəsi:

  function genRandom(length) { const t1 = new Date().getMilliseconds(); var min = "1",max = "9"; var result; var numLength = length; if (numLength != 0) { for (var i = 1; i < numLength; i++) { min = min.toString() + "0"; max = max.toString() + "9"; } } else { min = 0; max = 0; return; } for (var i = min; i <= max; i++) { //Empty Loop } const t2 = new Date().getMilliseconds(); console.log(t2); result = ((max - min)*t1)/t2; console.log(result); return result; } 
3
14 авг. Nilesh Pawar tərəfindən verilmiş cavab 14 avqust. 2017-08-14 10:15 '17 saat 10:15 'da 2017-08-14 10:15

/ * randUpTo adlı bir funksiyanı yazın və randUpTo bir randUpTo təsadüfi tamsayı qaytarır? * /

 var randUpTo = function(num) { return Math.floor(Math.random() * (num - 1) + 0); }; 

/ * randBetween təmsil edən iki ədəd çəkən və bu iki ədəd arasında təsadüfi bir tamsayı qaytaran randBetween adlı bir funksiyanı yazın. * /

 var randBetween = function (min, max) { return Math.floor(Math.random() * (max - min - 1)) + min; }; 

/ * randFromTill adlı bir funksiyanı yazın, bu rəqəmi təmsil edən iki rəqəmi alır və min (inclusive) və max (eksklüziv) arasında təsadüfi sayını qaytarır. * /

 var randFromTill = function (min, max) { return Math.random() * (max - min) + min; }; 

/ * randFromTo adlı bir funksiyanı yazın ki, bir aralığı təmsil edən iki ədəd alır və min (inclusive) dən max (daxil olmaqla) * /

 var randFromTo = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }; 
0
08 июня '18 в 9:09 2018-06-08 09:09 Cavab Prakhar Mittal tərəfindən 08 iyun 18:18 saat 09:09 2018-06-08 09:09 tarixində verilir

20 rəqəmə qədər nadir təsadüfi nömrələr yarada bilər

Js

 var generatedNumbers = []; function generateRandomNumber(precision) { // precision --> number precision in integer if (precision <= 20) { var randomNum = Math.round(Math.random().toFixed(precision) * Math.pow(10, precision)); if (generatedNumbers.indexOf(randomNum) > -1) { if (generatedNumbers.length == Math.pow(10, precision)) return "Generated all values with this precision"; return generateRandomNumber(precision); } else { generatedNumbers.push(randomNum); return randomNum; } } else return "Number Precision shoould not exceed 20"; } generateRandomNumber(1); 

2019

27 апр. Cavab 27 aprel tarixində Nofi tərəfindən verilmişdir 2016-04-27 15:07 '16 at 15:07 2016-04-27 15:07

Təsadüfi sayda beş rəqəm yaradın

  function rn(min, max){ return Math.floor(Math.random() * min + max); } 

bir nümunə

  rn(2342, 9999) 

Ümid kömək edəcək

0
15 дек. Cavab verilir Oladimeji Ajeniya 15 dekabr. 2018-12-15 01:20 '18 saat 1:20 2018-12-15 01:20

Randomizatorun belə funksiyası üçün kifayət qədər ədəddən sonra paylamanın nə olacağını merak etdim.

Həm də bu paylamanın müxtəlif brauzerlərdə daha çox və ya daha az olacağını yoxlamaq üçün.

Beləliklə, burada işləmək üçün bir parçadır. Rəqəmlər düyməni basmadan əvvəl dəyişdirilə bilər.

 <div id="topContainer"> <div id="inputAndButton" style="float: left;"> <p>Min : <input type="number" id="randomMinLimit" value=4></p> <p>Max : <input type="number" id="randomMaxLimit" value=8></p> <p>Loops: <input type="number" id="loopLimit" value=1000></p> <button type="button" onclick="loopRandomAndPrint()"> Loop random function and show </button> </div> <div id="tableContainer" style="float: right;"> </div> </div> 
-1
11 июля '18 в 20:24 2018-07-11 20:24 cavab LukStorms 11 iyul '18 saat 20:24 2018-07-11 20:24 'də verilir

Alternativ həll: -

 let makeGuess = function(guess){ let min = 1; let max = 5; let randomNumber = Math.floor(Math.random() * (max - min + 1)) + min return guess === randomNumber; } console.log(makeGuess(1)); 
-1
02 июля '18 в 9:31 2018-07-02 09:31 Cavab bajran 02 iyul '18, saat 9:31 'də verilir. 2018-07-02 09:31

tags ilə bağlı digər suallar və ya bir sual