как часть создания инструмента для работы с электронными таблицами для моей организации, мне нужно как можно больше проверить этот инструмент, что означает проверку нескольких условий, прежде чем разрешить выполнение функции.У меня работает версия кода, но мне интересно, есть ли способ ее оптимизировать.
В приведенном ниже коде я использую цикл for, чтобы проверить, имеет ли строка в столбце B пустое значение, а в столбце C, D, E или F есть значение в той же строке.
Если условие выполнено хотя бы один раз, то мы прекращаем цикл и предупреждаем пользователя.Если массив проходит проверку, мы делаем что-то в конце цикла.
Можем ли мы вообще избежать цикла?Как оптимизировать код?
Я провел какое-то исследование, но .every или .some, похоже, не урезают его, учитывая структуру массива диапазона значений в Google Apps Script.
Вот краткое описание кода для частиЯ заинтересован в:
function myFunc() {
var sheet = SpreadsheetApp.getActiveSpreadsheet(),
bench = sheet.getSheets()[0].getRange('B1:F14').getValues();
for (var c = 0; c < bench.length; c++) {
var check = bench[c];
if (check[0] === '' && ((check[1] || check[2] || check[3] || check[4]) != '')) { // check if a row in Col B as an empty value while having a value in Col C,D,E or F
SpreadsheetApp.getUi().alert("line " + (c + 1) + " has no company name");
break;
} else { // everything pitchy
if (c == (bench.length - 1)) {
//Function run normaly
}
}
}
}