如何基于文本制作if语句

时间:2019-12-19 14:03:32

标签: javascript google-apps-script

所以我不知道如何在语句中放置文本,因为我需要像这样基于文本

function onEdit() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Class');
  var char_class = sheet.getRange('Traits!L3').getValue();
  if (char_class == Warlock) {
    sheet.getRange('A7:D7').breakApart();
    sheet.getRange('A7:D7').mergeAcross();
  } else {
    if (char_class == Fighter) {
      sheet.getRange('A7:D7').breakApart();
      sheet.getRange('A7:B7').mergeAcross();
    } else {
  }
}

它可能与代码本身一起工作,但是我认为它只是无法正确识别类。因此,如果您的班级是术士,那么您会得到漂亮的合并单元,而如果您是战士,那么您就不会

1 个答案:

答案 0 :(得分:3)

报价应放在要检查的字符串周围,否则要检查变量Warlock的值-undefined

您还应该使用if / else if而不是嵌套的if,并使用strong equality ===而不是loose equality ==

function onEdit() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Class');
  var char_class = sheet.getRange('Traits!L3').getValue();

  if (char_class === 'Warlock') {
    sheet.getRange('A7:D7').breakApart();
    sheet.getRange('A7:D7').mergeAcross();
  } else if (char_class === 'Fighter') {
    sheet.getRange('A7:D7').breakApart();
    sheet.getRange('A7:B7').mergeAcross();
  } else {
    // ...
  }
}