Ich habe eine Funktion, die ein Wörterbuch basierend auf einer Reihe von Werten aus einem Blatt erstellt. Ich versuche dann, einen der Werte aus diesem Blatt mit einem Schlüssel zu ziehen. Es funktioniert gut, um sich an der Konsole anzumelden. In einer if-Anweisung heißt es jedoch Syntaxfehler und sonst nichts. Ich kann es nicht herausfinden. Hier ist die Funktion und der Code, der abstürzt. Dieses Problem tritt nur in der for-Schleife auf und tritt nicht außerhalb von es auf.Wörterbuch Syntaxfehler in Google Apps Script
//creates dictionary
function columnLocationWithNotation(notation) {
var spreadsheet = SpreadsheetApp.openByUrl();
var sheet = spreadsheet.getActiveSheet();
var data = sheet.getDataRange();
var cells = data.getValues();
var dictionary = {};
switch (notation) {
case "zeroIndex":
for (var i = 0; i < sheet.getLastRow(); i++) {
dictionary[cells[i][0]] = cells[i][1]
}
return dictionary
break;
case "regularIndex":
for (var i = 0; i < sheet.getLastRow(); i++) {
dictionary[cells[i][0]] = cells[i][2]
}
return dictionary
break;
case "string":
for (var i = 0; i < sheet.getLastRow(); i++) {
dictionary[cells[i][0]] = cells[i][3]
}
return dictionary
break;
}
}
var master0indexDictionary = columnLocationWithNotation("zeroIndex")
for (var i = 1; i =< (sheet.getLastRow() - 1); i++) {
var phone = master0indexDictionary["Tutor Name"]
if (cells[i][phone] === phoneNumber) { //LINE WITH SYNTAX ERROR
//do something
}
Es scheint, dass '' cells'' nicht für die Zeile '' if (cells [i] [phone] === phoneNumber) {'' definiert ist. '' cells'', die in '' columnLocationWithNotation() '' definiert sind, können nicht außerhalb der Funktion verwendet werden. Wenn '' cells'' im selben Umfang mit '' if (cells [i] [phone] === phoneNumber) {'' definiert ist, können wir Sie über die Fehlermeldungen und das ganze Skript ohne Ihre privaten Informationen informieren? – Tanaike