-1

重複の可能性:
このコードを単純化する方法はありますか?

これを1から19まで単純化する最良の方法は何ですか?

var backer1 = document.getElementById("backer-prediction-1").value;
var incentive1 = document.getElementById("incentive-cost-1").value;
var totalIncentive1 = parseInt(backer1,10) * parseInt(incentive1,10);

document.getElementById("incentive-total-1").value = totalIncentive1;

var backer2 = document.getElementById("backer-prediction-2").value;
var incentive2 = document.getElementById("incentive-cost-2").value;
var totalIncentive2 = parseInt(backer2,10) * parseInt(incentive2,10);

document.getElementById("incentive-total-2").value = totalIncentive2;

最後に投稿したものは、「for」ループをくれました。

まだこのようなことを学んでいます..非常に新しい、ありがとう!!!

4

4 に答える 4

3
for (var i=1; i<=19; i++) {
    var backer = document.getElementById("backer-prediction-" + i).value;
    var incentive = document.getElementById("incentive-cost-" + i).value;
    var totalIncentive = parseInt(backer,10) * parseInt(incentive,10);
    document.getElementById("incentive-total-" + i).value = totalIncentive;
}

ループの完了後に各ケースのbackerとの値にアクセスする必要がない限り、このテストされていないコードで十分です。incentive

于 2012-07-18T05:08:26.523 に答える
3

JavaScript で配列を使用する

var backer=[],
    incentive=[],
    totalincentive=[];
for(var i=1;i<20;i++){
    backer[i] = document.getElementById("backer-prediction-"+i).value;
    incentive[i] = document.getElementById("incentive-cost-"+i).value;
    totalIncentive[i] = parseInt(backer[i],10) * parseInt(incentive[1],10);

    document.getElementById("incentive-total-"+i).value = totalIncentive[i];
}

したがって、 for loop の終了後にそれらを使用できます。

backer[1]....,backer[19]
incentive[1]....,incentive[19]
totalincentive[1]....,totalincentive[19]
于 2012-07-18T05:06:17.430 に答える
3

最後の質問と同じように、forループを使用します。

for(var i = 1; i < 20; i++){
    var backer = document.getElementById("backer-prediction-"+i).value;
    var incentive = document.getElementById("incentive-cost-"+i).value;
    var totalIncentive = parseInt(backer,10) * parseInt(incentive,10);

    document.getElementById("incentive-total-"+i).value = totalIncentive;
}
于 2012-07-18T05:06:53.923 に答える
0

後援者インセンティブの価値が数値である場合、私は次のように誘惑されます。

var get = document.getElementById;
var backer, incentive, totalIncentive = 0;

for(var i = 1; i < 20; i++) {
  totalIncentive += get("backer-prediction-" + i).value * get("incentive-cost-" + i).value;
}

乗算は数値文字列を暗黙的に数値に変換するためです。ただし、 parseIntを使用している場合でも、何かを行う前に、これらの要素の内容が有効な数値であることを実際に検証する必要があります。

于 2012-07-18T05:46:26.983 に答える