Я пытаюсь сделать ссылку на ячейку динамической. Это означает, что он должен включать переменную, которая считает вверх. Однако, когда я пытаюсь увеличить свой счетчик, «новый» номер просто добавляется к старому номеру.
Я занимался базовым программированием на других языках, поэтому знаю синтаксис цикла for и как увеличить значение счетчика. Но, похоже, это не работает так, как я хотел в AppScript.
function myFunction() {
var counter = ["hello", "Bye"];;
for (var i in counter)
{
Logger.log("Increment: " +Number(i+1));
}
}
Это дает мне следующий результат: Шаг: 1 Шаг: 11 Мой ожидаемый результат: Шаг: 1 Шаг: 2
var mailList = sheet.getRange("C"+(i+1)).getValue();
Второй пример из моего кода и как я хочу, чтобы он работал. Эта строка должна создать переменную, которая получает значение текущей ячейки в столбце c плюс индекс 1, потому что переменная «i» начинает получать значения из строки номер 2. Затем она сохраняет этот результат в переменной, которую я использую для определения получателя. электронной почты, позже в коде.
Переменная i — это не число, а строка, которая вызывает такое поведение. «1» + «1» = «11».
var counter = ["hello", "Bye"];
for (var i in counter) {
Logger.log(parseInt(i)+1);
}
@VegardSmith-Johansen Потому что кто-то в Google решил, что так оно и должно работать. Нет, не всегда, это зависит от того, какая переменная. Вы можете, например, сделать то же самое, не вводя вот так: for (var i = 0; i < counter.length; i++) { Logger.log(i + 1); }
Идеально @Марк. Просто из любопытства, почему эта переменная установлена как строка по умолчанию. Всегда ли мне нужно добавлять «parseInt», когда я хочу выполнить математическое выражение для переменной?