js-рандом с определённой вероятностью
<span id="q"></span> <input type="button" onClick="Ok()" value="Ok" > function Ok() { var txt=[1,2,3,4] k= (txt[Math.floor(Math.random()*txt.length)]); { document.getElementById("q").innerHTML=k; }} Вот ещё один вариант рандома: q=Math.floor(Math.random()*100)+1; где: 100 - количество возможных вариантов 1 - стартовый номер Есть функция, которая при нажатии на кнопку Ok в id=q, выдаст случайное число из массива. Как сделать, чтоб числа из массива выпадали с определённой вероятностью т.е. 1-30% 2-30% 3-30% 4-10% Если нажмем 10раз на кнопку в нас должно числа 1,2,3 -выпасть 3 раза (3по3) и число 4 - 1раз ? |
|
Цитата:
var k = Math.random(); if(k > .9) k = 4; else if(k > .6) k = 3; else if(k > .3) k = 2; else k = 1; |
рони,
8и 10 строчка {} ставлю потому что иногда не срабатывало ,а с этим работает :),я на каком-то сайте это нашёл.вот использую |
рони,
Спасибо |
Цитата:
Забудь о таком мистическом подходе. Программирование это логика. Если что-то работает или не работает - оно делает это по конкретной причине. Никогда не используй того что не понимаешь хотябы поверхностно. |
Aetae,
Смотри вот функция по теории начинается и заканчивается function название() {} - так? Этот вариант не работал: function Ok() { var a=promt("сообщ",""); document.getElementById('16').innerHTML=a; } Вот этот вариант работал! function Ok() { var a=promt("сообщ",""); { document.getElementById('16').innerHTML=a; }} |
Aetae,
В чем проблема? |
Aetae,
поверхностно js я понимаю,а эти скорбки это ошибка, того кто писал материал,который изначально мною изучался Когда человек,он что-то изучает он ищет,читает,вникает изучает - то,что он находит считает правильным ,этот материал берётся за основу... Вы б лучше подсказали,что-то чтоб подобные ошибки не допускать Ошибки всем свойственно допускать,на ошибках мы и учимся - опытные программисты их допускают,а я только учусь :) Вы говорите программирование логика - логика присутствует, но главное точность и правильность Сервер,он ж код выполняет точно,а не по логике, хочу выполню,хочу не выполню |
Aetae,
как-то ушли от темы топа Тема: рандом из массива и определённой вероятностью. |
Цитата:
что не так? если вы снова о том же рандом с определённой вероятностью |
Цитата:
|
Brick,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <ol> <li></li> <li></li> <li></li> <li></li> </ol> <script> function fn(c) { var a = c.slice(0); return function() { var b = Math.floor(Math.random() * a.length); b = a.splice(b, 1)[0]; a.length || (a = c.slice(0)); return b } }; var arr = [1,1,1,2,2,2,3,3,3,4]; var rnd = fn(arr); //тестирование var li = document.querySelectorAll("li"); for (var i = 0; i < 10; i++) { var q = rnd(); li[q - 1].innerHTML += q document.write(i + '=>' + q + '<br>') } </script> </body> </html> |
:-E твое лицо
когда поспорил с пацанами что выучу JS! не открывая ни одного талмуда!!! |
Часовой пояс GMT +3, время: 12:18. |