2017-07-08 2 views
0

Basic Example dataVergleicht man Elemente eines Arrays in Google Apps Script

Ich kann nicht herausfinden, warum die if-Anweisung I markiert als „If-Anweisung in Frage“, nie zu wahren und seine Befehle auswertet nie ausgeführt.

function setDuplicatesArray() { 
    var sheet = SpreadsheetApp.getActive().getActiveSheet(); 

    var compareFromCol = "A"; 
    var compareToCol = "E"; 
    var compareFromIndex = sheet.getRange(compareFromCol+"1").getColumn(); 
    var compareToIndex = sheet.getRange(compareToCol+"1").getColumn(); 
    var maxRows = sheet.getMaxRows(); 


    var FromValues = sheet.getRange(4,compareFromIndex,maxRows,1).getValues(); 
    var ToValues = sheet.getRange(4,compareToIndex,maxRows,1).getValues(); 

    var count = 0 
    for (i=0; i <= maxRows; i++) { 
    var from = FromValues[i]; 
    if (from == "") { break; } 
     for (j=0; j <= maxRows; j++) { 
     var to = ToValues[j]; 

     if (to == "") {break; } 

     Logger.log("\n"+from+"\n"+to+"\n\n"); 

     if (from === to) { //IF STATEMENT IN QUESTION 
      count = count++; 
      sheet.getRange(i+4,compareFromIndex,1,4).setBackgroundRGB(255,255,0); 
      break; 
     } 
     } 
    } 

Hier ist das Protokoll, um zu bestätigen, dass einige Elemente gleich sind:

[17-07-08 12:27:57:899 PDT] 
Desk 
Cats 


[17-07-08 12:27:57:900 PDT] 
Desk 
Dogs 


[17-07-08 12:27:57:900 PDT] 
Desk 
Pigs 


[17-07-08 12:27:57:900 PDT] 
Desk 
Fish 


[17-07-08 12:27:57:900 PDT] 
Cats 
Cats 


[17-07-08 12:27:57:901 PDT] 
Cats 
Dogs 


[17-07-08 12:27:57:901 PDT] 
Cats 
Pigs 


[17-07-08 12:27:57:901 PDT] 
Cats 
Fish 


[17-07-08 12:27:57:902 PDT] 
Fish 
Cats 


[17-07-08 12:27:57:902 PDT] 
Fish 
Dogs 


[17-07-08 12:27:57:902 PDT] 
Fish 
Pigs 


[17-07-08 12:27:57:903 PDT] 
Fish 
Fish 


[17-07-08 12:27:57:903 PDT] 
Pencils 
Cats 


[17-07-08 12:27:57:903 PDT] 
Pencils 
Dogs 


[17-07-08 12:27:57:904 PDT] 
Pencils 
Pigs 


[17-07-08 12:27:57:904 PDT] 
Pencils 
Fish 


[17-07-08 12:27:57:904 PDT] 0.0 
+0

Willkommen bei Stack-Überlauf! Es sieht so aus, als müssten Sie lernen, einen Debugger zu verwenden. Bitte helfen Sie sich mit ergänzenden Debugging-Techniken. Wenn Sie danach immer noch Probleme haben, können Sie gerne mit einem [minimalen, vollständigen und überprüfbaren Beispiel] (http://stackoverflow.com/help/mcve) zurückkommen, das Ihr Problem veranschaulicht. –

+0

Bitte beachten Sie, dass JavaScript nicht Java ist und Google Apps Script nicht Google App Engine ist. Das sind völlig verschiedene Dinge. Während [javascript] relevant ist, schließt die Anleitung zur Verwendung von Tags ausdrücklich Google Apps Script aus. Das wichtigste Tag hier ist [google-apps-script], das ich nun hinzugefügt habe. – FTP

Antwort

0

ich es herausgefunden.

.getValues() erstellt ein zweidimensionales Array, obwohl es nur eine Spalte in seinem Bereich gibt. So änderte

I:

var from = FromValues[i]; 

zu

var from = FromValues[i][0]; 

und

var from = ToValues[j]; 

zu

var from = ToValues[j][0]; 
Verwandte Themen