Я создаю простую математическую программу с 6 различными типами задач. Я хочу, чтобы программа случайно отображала один из 6 типов, но некоторые проблемы должны появляться чаще. Я использую взвешенный массив, но после того, как тип проблемы выбран из взвешенного массива, у меня возникают проблемы с выяснением, какой это тип проблемы, без использования 10 или более команд «или» внутри оператора if. Вот упрощенная версия:
//shuffle array of 10 integers to get a random value
var rand_10 = [0,1,2,3,4,5,6,7,8,9];
fisherYates(rand_10);
//Set weightedProb
weightedProb[0] = probType[0];
weightedProb[1] = probType[0];
weightedProb[2] = probType[0];
.
.
.
weightedProb[8] = probType[0];
weightedProb[9] = probType[1];
theProblem = weightedProb[rand_10[0]];
if(rand_10[0] == 0 || rand_10[0] == 1 || rand_10[0] == 2 || rand_10[0] == 3 ||rand_10[0] == 4||rand_10[0] == 5||rand_10[0] == 6||rand_10[0] == 7||rand_10[0] == 8){
//do something
}else if(rand_10[0] ==9){
//do something else
}