現在、JavaScriptを学習していますが、このコードを作成しました(うまくいきます)が、これを自動化する方法があるはずです。私は、ループ上の少しあいまいだけど、私はそれらを知っているから、私は1つが、このような状況で使用することができることを知っていない:数値を1から25まで一様に5色にマップするためのコードを最適化する
function calculation() {
var num = document.getElementById("input").value;
var trCalc = num % 25;
var tipColorName = document.getElementById("tipColorName");
var ringColorName = document.getElementById("ringColorName");
var tipBlock = document.getElementById("tipBlock");
var ringBlock = document.getElementById("ringBlock");
// Pair Calculations
if (trCalc > 0 && trCalc <= 5) {
tipColorName.innerHTML = "White";
tipBlock.setAttribute("style", "background-color: #f2f2f2; color: #2f2f2f;");
}
if (trCalc > 5 && trCalc <= 10) {
tipColorName.innerHTML = "Red";
tipBlock.setAttribute("style", "background-color: #e24341; color: white;");
}
if (trCalc > 10 && trCalc <= 15) {
tipColorName.innerHTML = "Black";
tipBlock.setAttribute("style", "background-color: #2f2f2f; color: white;");
}
if (trCalc > 15 && trCalc <= 20) {
tipColorName.innerHTML = "Yellow";
tipBlock.setAttribute("style", "background-color: #f4ca37; color: #2f2f2f;");
}
if (trCalc > 20 && trCalc <= 24 || num % 25 == 0 && num > 0) {
tipColorName.innerHTML = "Violet";
tipBlock.setAttribute("style", "background-color: #844ae0; color: white;");
}
if ([1, 6, 11, 16, 21].includes(trCalc)) {
ringColorName.innerHTML = "Blue";
ringBlock.setAttribute("style", "background-color: #426ffe; color: white;");
}
if ([2, 7, 12, 17, 22].includes(trCalc)) {
ringColorName.innerHTML = "Orange";
ringBlock.setAttribute("style", "background-color: #f27f42; color: #2f2f2f;");
}
if ([3, 8, 13, 18, 23].includes(trCalc)) {
ringColorName.innerHTML = "Green";
ringBlock.setAttribute("style", "background-color: #25d366; color: white;");
}
if ([4, 9, 14, 19, 24].includes(trCalc)) {
ringColorName.innerHTML = "Brown";
ringBlock.setAttribute("style", "background-color: #917260; color: #2f2f2f;");
}
if ([5, 10, 15, 20 ].includes(trCalc) || num % 25 == 0 && num > 0) {
ringColorName.innerHTML = "Slate";
ringBlock.setAttribute("style", "background-color: grey; color: #2f2f2f;");
}
すべてのヘルプは歓迎です!
最適化と縮小は、実際には2つの異なるものです。 minification http://closure-compiler.appspot.com/homeのためにこのサイトを見てください。 –
コードが何をしているのか(やるべきこと)にいくつかのコンテキストを提供できますか、特に最適化したいことがあれば何かがありますか?これを行うために行った試みを投稿することはできますか? – roelofs
@roelofs OPは、ここにパターンがあることを正しく感知しました。彼は必要以上に 'if'文を使用しています。 – Andy