使用变量的Java案例说明

问题描述 投票:0回答:1

我遇到的情况是我正在查找的信息,每个记录都有其自己的指标。因此,指标/阈值包含在表中并分配给变量。为了以它们自己的格式正确显示这些内容(即Red Threshold = Red),我需要能够对该变量运行If / Then或Switch语句。这就是我编写的测试代码:

switch (true) {
    case (txtYel_Threshold):    //    represents for this one test:  97.7 > 97 && 97.7 < 98
        ctx.CurrentItem.Comments = '<div style="display:block; width:110px;">YELLOW</div>';
        break;
    default:
        ctx.CurrentItem.Comments = '<div style="display:block; width:110px;">Did not work</div>';
        break;
}

[不幸的是,javascript无法识别txtYel_Threshold变量内的文本。如果我键入该语句,则效果很好,但尝试将变量与其中的语句一起使用时,效果不佳。我究竟做错了什么?是否有一种使用变量的方法(同样,因为每个记录都有自己的度量标准,因此不能直接用代码编写)?

非常感谢您的协助或反馈!谢谢。

switch-statement
1个回答
0
投票

这就是我所做的,也许有更好的方法。此方法有效,但不允许我使用变量代替运算符(而不是“ 1> 0”,我需要使用“ var1 var2 var3”之类的东西,因为指标不同。在某些情况下,其中1为红色(坏),其他为1则为绿色(好)。

// YELString includes statement such as '> 97 and < 98'
var YELString = ctx.CurrentItem.Yellow_Threshold;
var YELString = YELString.replace(/\and/g, "&&");
var YELArray = new Array();
YELArray = YELString.split(" ");

// GRNString includes statement such as '>= 98'
var GRNString = ctx.CurrentItem.Green_Threshold;
var GRNArray = new Array();
GRNArray = GRNString.split(" ");

// REDString includes statement such as '< 97'
var REDString = ctx.CurrentItem.Red_Threshold;
var REDArray = new Array();
REDArray = REDString.split(" ");

switch (true) {
    case (numCurrentMetric == "100" || numCurrentMetric >= GRNArray[1]):
        ctx.CurrentItem.Comments = 'Green';
        break;
    case (numCurrentMetric < REDArray[1]):
        ctx.CurrentItem.Comments = 'Red';
        break;
    case (numCurrentMetric > YELArray[1] && numCurrentMetric < YELArray[4]):
        ctx.CurrentItem.Comments = 'Yellow';
        break;
    default:
        ctx.CurrentItem.Comments = 'NONE';
        break;
}

再次感谢您的协助。

© www.soinside.com 2019 - 2024. All rights reserved.