首页 > 解决方案 > 如何根据javascript中另一个随机变量的结果来调节随机生成器中的字符串变量?

问题描述

我是 javascript 编码的新手,想运行一个简单的命令来使用 math.random 函数填写表格。我想根据另一个随机变量的输出来约束一个随机变量。我创建了一个函数,我希望它可以根据特定输出从先前的随机变量中调整新的随机变量。任何帮助,将不胜感激。

以下是 javascript 代码(我只是想根据早期的职业抽签来确定教育背景):

// generate string variables
var vjob = ["Retail worker", "Financial analyst"];
var vedu1 = ["Secondary", "Bachelor's", "Masters or professional degree"];
var vedu2 = ["Bachelor's", "Masters or professional degree"];

// random generator fn conditional on occupational outcome 
function getEDU() {
    var rand1 = Math.floor(Math.random() * vjob.length);
    var rand2 = vedu1[Math.floor(Math.random() * vedu1.length)];
    var rand3 = vedu2[Math.floor(Math.random() * vedu2.length)];

    if (rand1 == "Financial Analyst") {
        return rand1;
    }
    return rand2;
}


// Use math.random to randomly select traits for each dimension for Person A & Person B
traits_a = [vjob[Math.floor(Math.random() * vjob.length)],
            getEDU()];

traits_b = [vjob[Math.floor(Math.random() * vjob.length)],
            getEDU()];        

// Create list of variables to use when setting attributes
a_list = ["a1", "a2"];
b_list = ["b1", "b2"];

// set html values in conjoint table
for(let i = 0; i < 3; i++){
    document.getElementById(a_list[i]).innerHTML = traits_a[i];
    document.getElementById(b_list[i]).innerHTML = traits_b[i];
}

我将它传递到 html 中的表格上:

<table border="1px solid black" cellpadding="15" cellspacing="2" width="90%">
 <tbody>
  <tr>
   <td></td>
   <td style="font-weight:bold; font-size:1.25em; font-align:center;">Person A</td>
   <td style="font-weight:bold; font-size:1.25em; font-align:center;">Person B</td>
  </tr>
  <tr>
   <td style="font-weight:bold;">Occupation</td>
   <td id="a1"></td>
   <td id="b1"></td>
  </tr>
  <tr>
   <td style="font-weight:bold;">Level of education</td>
   <td id="a2"></td>
   <td id="b2"></td>
  </tr>
 </tbody>
</table>

标签: javascripthtml

解决方案


推荐阅读