对变量使用math.max并显示相应的变量



我的JavaScript代码有一个问题(我对此很陌生…)。我正在做一个测试,通过使用参与者的答案来计算他们的分数。我有多个变量存储这些答案。而且分数的计算也很顺利。然后我有一张分数表。这是这样的:

<script type="text/javascript">
var row1col1var="Fruit";
var rowicol2var="% of how much I love them";
var applep=34; //result from score calcultaion
var row2col1var="Apple";
var bananasp=65; //result from score calcultaion
var row3col1var="Bananas";
document.write('<center><table width="50%" border="0">');
document.write('<tr align="center"><td>' + row1col1var + '</td><td>' + rowicol2var + '</td></tr>');
document.write('<tr align="center"><td>' + row2col1var + '</td><td' + applep + "%" + '</td></tr>');
document.write('<tr align="center"><td>' + row3col1var + '</td><td' + bananasp + "%" +'</td></tr>'); 
document.write('</table></center>'); </script>

在这里,我在表格中显示每个"水果"的结果。我不能上班的是:我想选出最好的分数(在本例中是65分,香蕉)并显示:"你最喜欢香蕉。"(即链接65分到香蕉并显示香蕉)。我试图给细胞一个名为"苹果"或"香蕉"的id,并调用id来显示它,但这没有奏效。

我的问题分为两部分:1.我无法让math.max处理变量。2.我不知道如何将最高分与其"名字"联系起来(即65分属于香蕉)。

我希望你能帮助我!!

您需要使用更合适的编码方式。为了存储数据,可以使用对象或数组。我在这个例子中使用了一个数组。检查此项:

<html>
<head>
<script type="text/javascript">
function getScore(){
    var scoreArr = [];
    scoreArr.push(['apple', '35']);
    scoreArr.push(['apple', '65']);
    var maxPercentage = null;
    var lovedFruit = '';
    var finalScore = '<center><table width="50%" border="0"><tr align="center"><th>Fruits</th><th>% of how much I love them</th></tr>';
    for (var i = 0; i < scoreArr.length; i++) {
        finalScore += '<tr align="center"><td>' + scoreArr[i][0] + '</td><td>' + scoreArr[i][1] + "%" + '</td></tr>';
        if (maxPercentage === null) {
            lovedFruit = scoreArr[i][0];
            maxPercentage = parseInt(scoreArr[i][1]);
        } else {
            if (maxPercentage < parseInt(scoreArr[i][1])) {
                lovedFruit = scoreArr[i][0];
                maxPercentage = parseInt(scoreArr[i][1]);
            }
        }
    }
    finalScore += '</table><br>Result is : ' + maxPercentage + ' belongs to ' + lovedFruit + '</center>';
   // WITH JAVASCRIPT
    var container = document.createElement('div');
    container.innerHTML = finalScore;
    document.body.insertBefore(container, null); //append div to end
  // WITH JQUERY
      // $('body').append(finalScore); 
}
</script>
</head>
<body onLoad=getScore()>
</body>
</html>

它将把你的数据存储在数组中,然后你可以用更复杂的方式做任何你想做的事情。

最新更新