Javascript 如何将我的代码从多个if语句更改为Switch Case语句

Javascript 如何将我的代码从多个if语句更改为Switch Case语句,javascript,switch-statement,Javascript,Switch Statement,我有太多的IF语句, 如何将代码转换为大小写样式 下面是我的代码示例 我已经做了很多研究,但我似乎无法让它与案例陈述一起工作 function onEdit(e){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetBoutons = ss.getSheetByName("Boutons"); var sheetINV = ss.getSheetByName("INV"); var sheetList = ss.getSheetB

我有太多的IF语句, 如何将代码转换为大小写样式

下面是我的代码示例 我已经做了很多研究,但我似乎无法让它与案例陈述一起工作

function onEdit(e){

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetBoutons = ss.getSheetByName("Boutons");
var sheetINV = ss.getSheetByName("INV");
var sheetList = ss.getSheetByName("Liste de Bouttons")  
var rangeUSER = sheetBoutons.getRange(4, 2)
var rangeUSER2 = sheetBoutons.getRange(4, 3)
var USER = rangeUSER.getValues();



    switch(USER) {
      case 'Afficher-INV1':
        sheetINV.hideColumns(1,183);
        sheetINV.showColumns(22);
        sheetINV.showColumns(24);      
        rangeUSER2.setValue(rangeUSER.getValue());
        rangeUSER.clearContent();
        break;

    default: 
    break
    }}
还有更多的病例需要补充,但那只是视觉污染。
非常感谢您的帮助,

Wild guess,这段代码是JavaScript,使用谷歌电子表格

返回值数组的数组。由于length-1数组没有添加任何积垢,这会使单元格的值字符串化。但是JavaScript中的switch语句与strict===equality比较,其中[['abc']]='abc'为false

上面链接的getValues文档显示了一个索引到结果中的示例。我想看看切换用户[0][0]{…}是否有帮助

示例:

同样,对于您的代码,它可以是:

 switch (USER) {
      case 'Afficher-INV1':
        sheetINV.hideColumns(1,183);
        sheetINV.showColumns(22);
        sheetINV.showColumns(24);      
        rangeUSER2.setValue(rangeUSER.getValue());
        rangeUSER.clearContent();
        break;

      case 'Afficher-INV2':
        sheetINV.hideColumns(1,183);
        sheetINV.showColumns(22);
        sheetINV.showColumns(24);      
        rangeUSER3.setValue(rangeUSER.getValue());
        rangeUSER.clearContent();
        break;

    default: rangeUSER.clearContent();
    }

看起来您对switch语句做了很好的研究,在代码级别上我没有发现任何错误。如果这不起作用,可能是因为我们无法从问题本身中看到某些东西。例如,名为getValues的方法是否真的返回字符串?
 switch (USER) {
      case 'Afficher-INV1':
        sheetINV.hideColumns(1,183);
        sheetINV.showColumns(22);
        sheetINV.showColumns(24);      
        rangeUSER2.setValue(rangeUSER.getValue());
        rangeUSER.clearContent();
        break;

      case 'Afficher-INV2':
        sheetINV.hideColumns(1,183);
        sheetINV.showColumns(22);
        sheetINV.showColumns(24);      
        rangeUSER3.setValue(rangeUSER.getValue());
        rangeUSER.clearContent();
        break;

    default: rangeUSER.clearContent();
    }