Как правильно использовать OR и AND в приложении? - PullRequest
1 голос
/ 18 октября 2019

Является ли это правильным способом записи условия ИЛИ для объединения двух операторов if в 1?

if (activeSheet.getName() == ("2 Grade" || "3 Grade") && Cell.getRow() >= 53 && Cell.getColumn() >= 9 && Cell.getRow() <= 57 && Cell.getColumn() <= 13) {
     supplierSeal2G.copyTo(supplierSeal2GData, SpreadsheetApp.CopyPasteType.PASTE_VALUES,true);
     surveyorSeal2G.copyTo(surveyorSeal2GData, SpreadsheetApp.CopyPasteType.PASTE_VALUES,true);
     remarks2G.copyTo(remarks2GData, SpreadsheetApp.CopyPasteType.PASTE_VALUES,true);
  }

1 Ответ

1 голос
/ 18 октября 2019

Как насчет этой модификации? Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Шаблон 1:

В этом шаблоне sheetName объявляется и используется для оператора if.

From:

if (activeSheet.getName() == ("2 Grade" || "3 Grade") && Cell.getRow() >= 53 && Cell.getColumn() >= 9 && Cell.getRow() <= 57 && Cell.getColumn() <= 13) {

Кому:

var sheetName = activeSheet.getName();
if ((sheetName == "2 Grade" || sheetName == "3 Grade") && Cell.getRow() >= 53 && Cell.getColumn() >= 9 && Cell.getRow() <= 57 && Cell.getColumn() <= 13) {

Шаблон 2:

В этом шаблоне ["2 Grade", "3 Grade"] подготавливается как массив и используется для оператора if с indexOf().

От:

if (activeSheet.getName() == ("2 Grade" || "3 Grade") && Cell.getRow() >= 53 && Cell.getColumn() >= 9 && Cell.getRow() <= 57 && Cell.getColumn() <= 13) {

До:

var sheetNames = ["2 Grade", "3 Grade"];
if (sheetNames.indexOf(activeSheet.getName()) > -1 && Cell.getRow() >= 53 && Cell.getColumn() >= 9 && Cell.getRow() <= 57 && Cell.getColumn() <= 13) {

Ссылки:

Если это не тот результат, который вам нужен, я прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...