0

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 を Bananas にリンクし、Bananas を表示します)。セルに Apples または Bananas という名前の ID を付けようとして、その ID を呼び出して表示しようとしましたが、うまくいきませんでした。

私の問題は 2 つの部分に分けられます。 1. 変数に対して math.max を機能させることができません。2. 最高スコアをその「名前」に関連付ける方法がわかりません (つまり、65 はバナナに属します)。

あなたが私を助けてくれることを願っています!!

4

1 に答える 1

0

コーディングには、より適切な方法を使用する必要があります。データの保存には、オブジェクトまたは配列を使用できます。この例では配列を使用しています。これをチェックして :

<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>

データを配列に格納し、より洗練された方法で好きなことを行うことができます。

于 2012-08-17T11:28:04.170 に答える