具有不同变量和关联ID的Javascript If条件

具有不同变量和关联ID的Javascript If条件,javascript,if-statement,Javascript,If Statement,我创建了一个if条件,但我想检查多个变量。变量属于不同的id,如下所示 是否可以优化代码,因为我不想复制过去并更改变量 if (T11 > 33){ document.getElementById("T11").innerHTML = '-'; } else if(T11 > 2){ document.getElementById("T11").innerHTML = T11-30; document.getElementById("T11").style.t

我创建了一个if条件,但我想检查多个变量。变量属于不同的id,如下所示

是否可以优化代码,因为我不想复制过去并更改变量

if (T11 > 33){
    document.getElementById("T11").innerHTML = '-';
}
else if(T11 > 2){
    document.getElementById("T11").innerHTML = T11-30;
    document.getElementById("T11").style.textDecoration = 'underline';
}
else {
    document.getElementById("T11").innerHTML = T11;
    }



if (T12 > 33){
        document.getElementById("T12").innerHTML = '-';
    }
    else if(T12 > 2){
        document.getElementById("T12").innerHTML = T12-30;
        document.getElementById("T12").style.textDecoration = 'underline';
    }
    else {
        document.getElementById("T12").innerHTML = T12;
        }



if (T.. > 33){
        document.getElementById("T..").innerHTML = '-';
    }
    else if(T.. > 2){
        document.getElementById("T..").innerHTML = T..-30;
        document.getElementById("T..").style.textDecoration = 'underline';
    }
    else {
        document.getElementById("T..").innerHTML = T..;
        }

请建议。

将数据存储在对象数组中

const data = [{
   variable: T11,
   name: "T11" 
},{
    variable: T12,
    name: "T12"
}];

data.forEach(d => {
    let element = document.getElementById(d.name);
    if(d.variable > 33){
        element.innerHTML = '-';
    }else if(d.variable > 2){
        element.innerHTML = d.variable - 30;
        element.style.textDecoration = 'underline';
    }else{
        element.innerHTML = d.variable
    }
});

将数据存储在对象数组中

const data = [{
   variable: T11,
   name: "T11" 
},{
    variable: T12,
    name: "T12"
}];

data.forEach(d => {
    let element = document.getElementById(d.name);
    if(d.variable > 33){
        element.innerHTML = '-';
    }else if(d.variable > 2){
        element.innerHTML = d.variable - 30;
        element.style.textDecoration = 'underline';
    }else{
        element.innerHTML = d.variable
    }
});

T1
T33
应该是
t
,其中
t
是一个数组。然后一个循环就可以完成这项工作。如果
T1
T33
不能成为数组(但我无法想象为什么它们不能),您可以先创建它们的临时数组:

var t = [T1, T2, T3, T4, ... ];

但是,真的,你根本不应该有
T1
T33
;只要
t

一旦有了
t
,就可以使用
forEach

t.forEach(function(val, index) {
   var element = document.getElementById("T" + (index + 1));
   if (val > 33){
        element.innerHTML = '-';
    }
    else if (t[n] > 2){
        element.innerHTML = val - 30;
        element.style.textDecoration = 'underline';
    }
    else {
        element.innerHTML = val;
    }
});
…但如果要为循环创建一个

for (var n = 0; n < t.length; ++n) {
   var val = t[n];
   var element = document.getElementById("T" + (n + 1));
   if (val > 33){
        element.innerHTML = '-';
    }
    else if (t[n] > 2){
        element.innerHTML = val - 30;
        element.style.textDecoration = 'underline';
    }
    else {
        element.innerHTML = val;
    }
}
for(变量n=0;n33){
element.innerHTML='-';
}
else如果(t[n]>2){
element.innerHTML=val-30;
element.style.textDecoration='underline';
}
否则{
element.innerHTML=val;
}
}

T1
T33
应该是
t
,其中
t
是一个数组。然后一个循环就可以完成这项工作。如果
T1
T33
不能成为数组(但我无法想象为什么它们不能),您可以先创建它们的临时数组:

var t = [T1, T2, T3, T4, ... ];

但是,真的,你根本不应该有
T1
T33
;只要
t

一旦有了
t
,就可以使用
forEach

t.forEach(function(val, index) {
   var element = document.getElementById("T" + (index + 1));
   if (val > 33){
        element.innerHTML = '-';
    }
    else if (t[n] > 2){
        element.innerHTML = val - 30;
        element.style.textDecoration = 'underline';
    }
    else {
        element.innerHTML = val;
    }
});
…但如果要为
循环创建一个

for (var n = 0; n < t.length; ++n) {
   var val = t[n];
   var element = document.getElementById("T" + (n + 1));
   if (val > 33){
        element.innerHTML = '-';
    }
    else if (t[n] > 2){
        element.innerHTML = val - 30;
        element.style.textDecoration = 'underline';
    }
    else {
        element.innerHTML = val;
    }
}
for(变量n=0;n33){
element.innerHTML='-';
}
else如果(t[n]>2){
element.innerHTML=val-30;
element.style.textDecoration='underline';
}
否则{
element.innerHTML=val;
}
}
使其成为一个函数

codeReduce(13,TD1) //call like this

function codeReduce(id,name){
    if(id > 33){
        document.getElementById(name).innerHTML = '-';
    }
    else if(id > 2){
        document.getElementById(name).innerHTML = id-30;
        document.getElementById(name).style.textDecoration = 'underline';
    }
    else{
        document.getElementById(name).innerHTML = id;
    }
}
让它成为一个函数

codeReduce(13,TD1) //call like this

function codeReduce(id,name){
    if(id > 33){
        document.getElementById(name).innerHTML = '-';
    }
    else if(id > 2){
        document.getElementById(name).innerHTML = id-30;
        document.getElementById(name).style.textDecoration = 'underline';
    }
    else{
        document.getElementById(name).innerHTML = id;
    }
}

您可以使用一个对象,其中有一个字符串作为键和一个值,如

values = {
    T11: 20,
    T22: 10
}
然后使用循环


您可以使用一个对象,其中有一个字符串作为键和一个值,如

values = {
    T11: 20,
    T22: 10
}
然后使用循环


如果
没有创建循环。。。另外请注意,破折号(
-
)不是JS标识符中的有效字符。。。什么?
如果
不是循环。但听起来你想要的是一个循环。循环是编程中非常常见的控制结构,您应该通过JavaScript教程了解并练习一些。请添加其余部分,其中
T11
获取值。
T1
T33
应该是
t
,其中
t
是一个数组。
如果
没有创建循环。。。另外请注意,破折号(
-
)不是JS标识符中的有效字符。。。什么?
如果
不是循环。但听起来你想要的是一个循环。循环是编程中非常常见的控制结构,您应该通过JavaScript教程了解并练习一些。请添加其余部分,其中
T11
获取其值。
T1
T33
应该是
t
,其中
t
是一个数组。