Случайная функция, результатом которой является заданная общая сумма из значений массива - PullRequest
0 голосов
/ 07 июля 2011

указан общий балл, например, 50 и массив с некоторыми значениями:

var totalscore = 50
var myvalues = [ 1, 3, 4, 7, 9, 2, 53, 123, 324324, 221 ]

Я хочу иметь случайную функцию, которая дает мне значение (или позицию) из массива, чтобы все выбранные значения были одинаковыми в реальном времени со значением totalalscore.

У кого-нибудь есть идея?

1 Ответ

1 голос
/ 15 июля 2011
function getRandom(maxval)
{
    return (Math.floor(Math.random()* maxval));
}
funktion getTotal()
{
    var totalscore = 50;
    var tempScore = 0;
    var temp = 0;
    var storeIndex = "";
    var myvalues = [ 1, 3, 4, 7, 9, 2, 53, 123, 324324, 221 ];
    while(tempScore < totalscore)
    {
        temp =getRandom(myvalues.length);
        if(tempScore+myvalues[temp] <= totalscore)
        {
                 tempScore += myvalues[temp];
                 storeIndex += temp + " ";
        }
    }
    alert("total score indexes are " +  storeIndex);
}

Я думаю, что желаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...