使用未知数量的案例进行切换 - 略有变化的默认情况
Switch with unknown number of cases - a default case that slightly changes?
我有一个开关语句,案例数量未知。在案例 1 之后,每个案例输出相同的公式。公式中唯一的区别是基本原理标签数组中的数字。在案例 2 中,它从基本原理标签[0] 开始;那么在情况 3 中,它是基本标签[1];案例4 - 理由标签[2];等等。有没有办法设置一个默认案例,在情况发生时增加 rationaleLabel 数组中的数字?
for(i = 0; i < drugs.length; i++){
rationaleTable[i] = [];
for(j = 0; j < rationaleLabel.length; j++){
switch(j){
case 0:
rationaleTable[j] = drugs[i];
break;
case 1:
rationaleTable[j] = drugs[i];
break;
case 2:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[0] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
case 3:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[1] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
case 4:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[2] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
case 5:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[3] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
case 6:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[4] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
case 7:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[5] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
}
}
}
这可能有效:
for(j = 0; j < rationaleLabel.length; j++){
if(j==0 || j==1) {
rationaleTable[j] = drugs[i];
} else {
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[j -2 ] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
}
}
会以
与 Chris 相同的方式执行此操作,但这里仍然是开关大小写想法的修改版本:
for(i = 0; i < drugs.length; i++){
rationaleTable[i] = [];
for(j = 0; j < rationaleLabel.length; j++){
switch(j){
case 0:
case 1:
rationaleTable[j] = drugs[i];
break;
default:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*" + rationaleLabels[j-2] + "*'" , 'All Events;!$E:$E,'"" + drugs[i] + "*'")";
break;
}
}
}
您可以在默认值中实现案例 2 到 7(我的意思是回退情况)我不知道你使用的是哪种语言,但语法应该非常接近以下内容:
switch(j) {
...
default:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,'"*"" + rationaleLabel[j-2] + ...
}
相关文章:
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 如何在有延迟的情况下对两个代码进行积分
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 如何检查html5视频是否有足够的缓冲,以便在不停止缓冲的情况下播放
- 有没有任何情况下,一个方法不应该是原型方法
- JavaScript while循环没有'不能在有条件的情况下工作
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- 为什么 HTML 文本字段的值在有逗号时会发生变化
- 类型胁迫在有条件的情况下更危险吗?
- 使用未知数量的案例进行切换 - 略有变化的默认情况
- 剑道网格有变化,如何处理只读网格
- backbone.js:自上次服务器保存以来有变化吗
- 在AngularJS中有没有一种方法可以在不使用$watch的情况下对模型变化做出反应?
- 如果文本框中有变化,则模糊
- 如何组合两个相似的脚本,并在略有变化的情况下运行它
- 检查窗口大小是否有变化和性能/优化
- 是否有任何情况下,我必须使用.attr()超过.prop()
- 如何知道日期是否有变化的日期picker jQuery
- 当有变化时,自动更新所有用户的HTML dom