Почему моя переменная y останавливается на 6? - PullRequest
0 голосов
/ 02 мая 2018

Я работал над созданием программы, которая будет принимать ответ в форме, сравнивать одну ячейку в столбце (например, тему) и вставлять ее в соответствующую строку на другом листе. Я работаю над этим уже несколько недель, но, похоже, застреваю из-за пары проблем.

function checkForDuplicate() {
  //Sets 'data' as the variable holding values from the first sheet.
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("responses");
  var data = sheet.getDataRange().getValues();

  //Sets 'data2' as the variable holding values from the second sheet.
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 2");
  var data2 = sheet2.getDataRange().getValues();

  //Sets a variable for the numerical length of data
  var responsesLength = data.length;
  var x = 1;
  var y = 0;
  //Finds a value that is the same as one in the second sheet.
  while (true) {
    var input = data[responsesLength - 1][0];
    var output = data2[y][0]
    Logger.log(input);
    Logger.log(output);
    if (input == output) {
      var rowLength = data[responsesLength - 1].length;
      for (var i = 0; i < rowLength; i++) {
        copyData("responses", x, responsesLength, "Form Responses 2", x, 5);
        x = x + 1
        break;
      }
    } else {
      y = y + 1;
      Logger.log(y);
      if (y >= 10) {
        Logger.log("Error. No same value found.");
        break;
      }
    }
  }
}

Одна из основных проблем, влияющих на мое устранение неполадок, заключается в том, что моя переменная "y" не будет считаться после 6. Журнал продолжит записывать значение y, но как только он достигнет 6, он прекратит регистрацию, и у не будет считать, так как программа не заканчивается. Мне было интересно, знал ли кто-нибудь об этом?

Вот журналы, данные Регистратором

  1. [18-05-03 10: 20: 55: 327 PDT] Хлопковая толстовка XLC
  2. [18-05-03 10: 20: 55: 328 PDT] Отметка времени
  3. [18-05-03 10: 20: 55: 329 PDT] 1,0
  4. [18-05-03 10: 20: 55: 329 PDT] Хлопковая толстовка XLC
  5. [18-05-03 10: 20: 55: 330 PDT] Вторник, 24 апреля 13:11:11 GMT-04: 00 2018
  6. [18-05-03 10: 20: 55: 330 PDT] 2,0
  7. [18-05-03 10: 20: 55: 331 PDT] Хлопковая толстовка XLC
  8. [18-05-03 10: 20: 55: 331 PDT] Чт 03 мая 00:00:00 GMT-04: 00 2018
  9. [18-05-03 10: 20: 55: 332 PDT] 3,0
  10. [18-05-03 10: 20: 55: 333 PDT] Хлопковая толстовка XLC
  11. [18-05-03 10: 20: 55: 333 PDT] Хлопковая толстовка XL
  12. [18-05-03 10: 20: 55: 334 PDT] 4,0
  13. [18-05-03 10: 20: 55: 334 PDT] Хлопковая толстовка XLC
  14. [18-05-03 10: 20: 55: 335 PDT] Хлопковая толстовка XLC

Cotton Sweatshirt XLC будет продолжаться бесконечно, пока я не убью программу.

https://docs.google.com/spreadsheets/d/1ZZTWTTkdAESBWhHhpurcDMtohfIlVvt9z5x9wc2GKQ8/edit?usp=sharing

Это тестовый документ, который я использовал для создания этого кода. Внутри него нет конфиденциальных данных, поэтому я могу поделиться ими в целях решения возникающих у меня проблем.

Заранее спасибо!

1 Ответ

0 голосов
/ 02 мая 2018

Вероятно, потому что для y = 7 найдено совпадение. В блоке для input == output вы забыли увеличить y!

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