这是编写将两个if语句合并为1的OR条件的正确方法吗?
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);
}
答案 0 :(得分:1)
此修改如何?请认为这只是几个答案之一。
在这种模式下,sheetName
被声明并用于if语句。
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 Grade", "3 Grade"]
被准备为数组,并与indexOf()
一起用于if语句。
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) {
如果这不是您想要的结果,我表示歉意。